[嘘言語] Google Maps APIが提供しているJavascriptのクラスをPHPからも使えるようにしておきたい
って書くと何のため?とおもわれるだろうが,たとえばこんな想定.
- マーカーや吹き出しをデータベースにもたせておく
- それを地図上に出す
普通に載っているサンプルはこんなかんじ
Google Map with PHP <Div id="map" style="width:300px; height:300px"></div>
実際には new GLatLng(32.5, 135.0) や "Test" はデータベースからひっぱってくるものだから,こう書きたい:
<?php select from ... //中略.sqlを発行して$resultに吹き出しのデータ(緯度経度文字)をいれる) $lat=new GLatLng($result["ido"],$result["keido"]) $mesg=$result["mesg"]; ?>Google Map with PHP< <Div id="map" style="width:300px; height:300px"></div> ?>
つまり,位置情報をあらわすオブジェクトGLatLngをPHPで生成して,そのままJavascriptにながしこむ,ということをしたい.
...書いていて思ったが,これだと
if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map")); map.setCenter(new GLatLng($result["ido"],$result["keido"]), 10); map.openInfoWindow(map.getCenter(), document.createTextNode($result["mesg"])); }
でもあまりかわらんなあ.まあ,
- もっとオブジェクトが複雑になったとき
- $result["ido"]にケッタイな文字を入れ込まれてXSSになるのを防ぎたいとき
- O-Rマッピングが発達して,SQL->PHP->JSへと透過的にオブジェクトを投下できるようになったとき
のことを見越してのことだ.