• ベストアンサー

GoogleMapのGeocoderがlocalhostで正常に動作しません

今回質問させて頂きたい内容は、GoogleMapAPIのGeocoderについてです。 下記のサイトのプログラムをコピーし「httpd」を使用してlocalhost上(http://localhost/map/search.html)で動作させ検索した所「地名 not found」と表示されてしまいます。 htmlファイルを右クリックし直接IEで起動させると正常に動作するのですが、最終的にはphpで郵便番号から大体の住所を割り出して検索させたい為localhost上で動かしたいのです。 なぜ表示されないのか理由がわからず、ずっと悩んでいます。 なにとぞご教授いただけますよう宜しくお願いいたします。 参考サイト http://www.geekpage.jp/web/google-maps-api/geocoder-0.php ファイル名:search.html プログラム <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>GClientGeocoderサンプル</title> <script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAANpz9YbJ9ituU8znrs9XJRhT9C0HjqPndW8ASVAENg0TnC9eCpxT0fY1KRBtIwNj2R0ym6ijrCZ0FhQ" type="text/javascript" charset="utf-8"></script> </head> <body onload="load()"> <div id="map" style="width:450px; height:400px"></div> <script type="text/javascript"> //<![CDATA[ var map = null; var geocoder = null; // 初期化 // <body onload="load()"> で呼び出されています function load() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map")); map.setCenter(new GLatLng(35.67431, 139.69082), 13); // GClientGeocoderを初期化 geocoder = new GClientGeocoder(); } } // 「移動する」ボタンを押されると実行されます function showAddress(address) { if (geocoder) { geocoder.getLatLng( address, function(point) { if (!point) { alert(address + " not found"); } else { map.setCenter(point, 13); var marker = new GMarker(point); map.addOverlay(marker); marker.openInfoWindowHtml(address); } } ); } } //]]> </script> <form action="#" onsubmit="showAddress(this.address.value); return false"> <P> <input type="text" size="40" name="address" value="渋谷区1-1" /> <input type="submit" value="移動する" /> </P> <div id="map" style="width:500px; height:600px"></div> </form> </body> </html>

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>新しくkey取得時に「http://localhost/map/」で取り直し、key部分を書き換えてみましたが 多分無駄。localhostはLAN内のみで使われているから外部からはそう見えないはず。(実験しようと思ったけど、そのためには家のブロードバンドルータのNAPT設定変更して,再起動せざるを得ず,家族から批判食うだろうと思うので実験していない) 改めて,俺が使っているGoogle Page Creatorのアドレス用にAPIのキーを取得したら成功した。 加えて、このAPIキーを用いたところ、一応localhost上で動作させることが出来た。 http://snippets.dzone.com/posts/show/3201

onilichan
質問者

お礼

教えていただいたURLのkeyを使用してみた所、無事動作いたしました。 行き詰っていたので助かりました。本当にありがとうございました。

その他の回答 (1)

  • Nii
  • ベストアンサー率48% (79/162)
回答No.1

見当違いかもしれませんが、 「key=aaaaa」の「aaaaa」部分ですが、「http://localhost/map/」で取得されてるのかな? 登録画面で入力したURLでしか表示出来ないと思いますが・・・

onilichan
質問者

お礼

himajin100000さんに教えていただいたkeyで無事動作させることができました。 私ではkeyに誤りがあることにすら気がつくことができませんでした。 回答ありがとうございました。

onilichan
質問者

補足

お早いお返事ありがとうございます。 おっしゃられた通り、参考サイトにあるものをそのまま使っておりました。 しかし、新しくkey取得時に「http://localhost/map/」で取り直し、key部分を書き換えてみましたがましたがやはり、同じ結果(地名 not found)で、localhost上では正常な動作をしてくれませんでした。

関連するQ&A