2010年9月6日月曜日

Google Maps API (V2)を iPadで使う場合の注意点

各所でiPadには対応していないを書かれているGoogle Maps API V2だが、やってみたら使えた。
以前使ったときには確かに対応していなかったと思うが、最近対応したのだろうか?Change Logにも書かれていないが...。

ただしiPadでは動きが変わる点があったのでメモ。


注意点1
GMarkerに対してdisableDragging()すると、iPadではそのマーカーをクリックしてもclickイベントを感知できないようだ。

対策としてはdisableDragging()しないこと。ドラッグしたいなら、代わりにドラッグ用のGMarkerを表示して、ドラッグが終わったらドラッグ先の場所に元のマーカーを移動して表示する、とすればたいてい間に合うのではないだろうか。


注意点2
こちらはAPIとは関係ないが、Google Mapsで経路検索結果を表示する場合の行き方(乗り物)を指定するパラメータのうち、電車についてのパラメータの値がiPad/iPhoneの場合は特殊なので注意。
詳しくはこちら → GoogleMapの経路検索で、車、電車、徒歩を指定するURL - iRSSの日記

PHPで変数を arrayや objectにキャストする

PHPでは「$after = (array)$before」のようにカッコ付きで型を指定しればデータをキャスト(型変換)できる。
特に、配列の場合とそうでない場合の両方あり得るデータを配列として扱うのに便利。

$arr = (array)$array_or_not;

以下は、配列やobjectにキャストするとどうなるかの実験結果。
//配列にキャスト
var_dump((array)123);         // => array(1) { [0]=>  int(123) }

//配列を配列にキャスト
var_dump((array)array(123));  // => array(1) { [0]=>  int(123) }

//Objectにキャスト
var_dump((object)123);        // => object(stdClass)#1 (1) { ["scalar"]=>  int(123) }

//配列をObjectにキャスト
var_dump((object)array(123)); // => object(stdClass)#1 (1) { [0]=>  int(123) }

//Objectを配列にキャスト
var_dump((array)(object)123); // => array(1) { ["scalar"]=>  int(123) }

2010年8月15日日曜日

CentOS5.5に PostgreSQL8.4をインスール&セットアップする手順

手順のメモ。

古いpostgresがインストールされていたので削除。

yum remove postgresql*
釣られてhttpd(Apache)もアンインストールされたが今回は構わない。


yumでpostgresをインストール。(CentOS5.5からは標準のyumリポジトリにPostgreSQL8.4がある。今までのpostgresと区別するために名前に"84"が付いている。)
yum install postgresql84-server
以下がインストールされる。
  • postgresql84-libs
  • postgresql84
  • postgresql84-server

必要に応じてdevelもインストール。
yum install postgresql84-devel


合わせてLinuxユーザーとして"postgres"が登録されるので、ユーザーを切り替える。
su postgres


初期化。
initdb --encoding=UTF-8 -D /var/lib/pgsql/data/
--encoding=UTF-8は無いとまずい?
--no-locale
は要るのかな?


rootに戻り起動。
/etc/init.d/postgresql start


OS起動時にpostgresが起動するようにしておく。
chkconfig postgresql on

yumのリポジトリに RPMforgeを追加する手順

CentOS5の場合。

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm

rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt

rpm -K rpmforge-release-0.5.1-1.el5.rf.*.rpm

rpm -i rpmforge-release-0.5.1-1.el5.rf.*.rpm


"--enablerepo=rpmforge"を付けた場合のみRPMforgeを使うようにする。
vi /etc/yum.repos.d/rpmforge.repo
下記のように変更する。
enabled=1
↓
enabled=0


参考:AdditionalResources/Repositories/RPMForge - CentOS Wiki

ブログ アーカイブ

tags