PHP4でeucで住所からGoogleMapの地図を表示したいよ
<a href="showmap_euc.php?adrs=東京都中央区日本橋2-4-1">東京都中央区日本橋2-4-1</a> <br> <a href="showmap_euc.php?adrs=東京都渋谷区千駄ケ谷5丁目24-2">東京都渋谷区千駄ケ谷5丁目24-2</a> <br>
&ie=euc-jp&oe=euc-jp らへん大事。
UTF-8だったら無論要らぬ話。
こんな書き方でいいのかなー。。びみょ
<?php $adrs = $_GET["adrs"]; ?> <html> <head> <meta http-equiv="content-type" content="text/html; charset=euc-jp"/> <title>Google Maps JavaScript API v3 Example: Map Simple</title> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&language=ja&ie=euc-jp&oe=euc-jp"></script> <script type="text/javascript"> var geocoder; var map; var adrs = '<?php echo $adrs; ?>'; function initialize() { if(adrs == null || adrs == ''){ alert('adrs is empty!') return; } geocoder = new google.maps.Geocoder(); if (geocoder) { geocoder.geocode( { address: adrs }, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { // 緯度経度 var latlng = results[0].geometry.location; var myOptions = { zoom: 16, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP } map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); var marker = new google.maps.Marker({ map: map, position: latlng }); } else { alert("Geocode was not successful for the following reason: " + status); } }); } } </script> </head> <body onload="initialize()"> EUC <div id="map_canvas" style="width: 400px; height: 400px;"></div> </body> </html>
JavaScriptだけでできるけど
毎回Googleに緯度と経度を問合せにいくのは危険かもしれない
(地図は毎回問合せにいくと思うけど。。。)
・DBに緯度と経度の項目を追加
・phpで、地図を表示するとき、緯度と経度がなかったらGoogleAPIに問合せ
問合せ結果をDBに保存
あれば問合せはしない
・JavaScriptで、緯度と経度で地図を表示
・住所が変わったときどうする?
(古い緯度と経度で身にいくかも)
マスタを更新したら緯度と経度を消すようにする?
追記
- metaタグまちがえてた!
- URLのエンコードとかいるかも!