Yahoo地図で郵便番号からおおよその場所を特定

このQ&Aのポイント
  • Yahoo地図を使用して郵便番号からおおよその場所を特定する方法について教えてください。
  • ページ上にYahoo地図が表示されており、郵便番号を入力してボタンを押すと地図が該当の場所に移動します。
  • また、Javascriptを使用して郵便番号から緯度・経度を取得し、地図に表示する方法についても教えてください。
回答を見る
  • ベストアンサー

Yahoo地図で郵便番号からおおよその場所を特定

ページ上にYahoo地図が表示されており、郵便番号ボックスに郵便番号が入力されて、ボタンが押されたら、地図を郵便番号付近に移動するというのをしたいのですが、どのようにすればよいのでしょう? [HTML] <input type="text" id="yubin"> <input type="button" value="住所を取得" onClick="mapmove();" /> <div id="map" style="width:300px;height:300px;"></div> [Javascript] var yubin = document.getElementById('yubin').value; ここに記述する郵便番号から緯度・経度を取得してmap表示する方法が知りたいです。 Googleのジオコーダーのようなものがありそうなのですが、使い方と返ってきた値の利用方法がわかりませんでした。 ご存知の方よろしくお願いします。

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

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.3

こんにちは。 YOLPローカルサーチで実装してみました。 ==== 動作確認サンプル http://hppg.moe.hm/okwave/qa/q7294881/ map.yahooapis.jp/LocalSearchService/V1/LocalSearch に p(検索ワード)=フォームの入力内容 category(検索対象カテゴリ)=zipcode o(出力タイプ)=json でリクエストをかけるとjson形式で値が返って来ます。 そこから必要な値を取って設定してあげればOKです。 jQueryを併用してAjaxにてgetリクエストを送信し、返ってきたJSONより緯度・経度を取得して設定しています。 (複数件返ってきていますのでとりあえず先頭の値を使ってます。このへんは調整が必要かもしれません)

ok-rjak
質問者

お礼

わざわざサンプルまで作っていただいてありがとうございました! まさに行いたい動作そのものでしたので、非常に参考になりました。 jQueryでjsonデータを扱う方法というのが、まだ独学中でハッキリしていなかったため、大変参考になりました。 これでGoogleと同じことがYahooでもできそうです。 本当にありがとうございました!

その他の回答 (3)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.4

#2です。 ごめんなさい。 Googleの地図と勘違いして回答してしまいました。 とりあえず、無視してください。

ok-rjak
質問者

お礼

いえいえ、このような質問にわざわざ時間を割いて過去ログを漁っていただいて感謝しています。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

このカテゴリを検索してもかなりの情報が集まりますし、ネットで検索すればもっと見つかるはずです。 概ね以下の手順になるのではないでしょうか? 郵便番号 → 住所 → 座標(経度・緯度) → 地図に表示 住所以下は、すでに発見していらっしゃるジオコーダーで可能です。 (確か、APIのリファレンスサイトにも具体例が出ていたように思います) 前半がちょっとやっかい。自分でデータをサーバなどに保持しておくか、外部のサービスを利用するか。 とりあえずこのサイトの検索で上のほうに出てきたものから。 (質問、回答にある参考サイトを辿れば相当の情報が集まるはずです) <同様の質問> http://okwave.jp/qa/q3986472.html http://okwave.jp/qa/q4220978.html <郵便番号→住所>関連 http://okwave.jp/qa/q36410.html http://okwave.jp/qa/q6679304.html http://okwave.jp/qa/q2441925.html http://okwave.jp/qa/q2483063.html <住所→座標→表示>関連(Geocoder) http://okwave.jp/qa/q3262530.html http://okwave.jp/qa/q5528204.html http://okwave.jp/qa/q2060658.html http://okwave.jp/qa/q6311881.html http://okwave.jp/qa/q4578842.html http://okwave.jp/qa/q5822007.html <おまけ>外部のリンク ◆郵便番号関連 http://wiki.livedoor.jp/kindaisis_student02/d/%cd%b9%ca%d8%c8%d6%b9%e6%b8%a1%ba%f7API http://zip.cgis.biz/ http://www.post.japanpost.jp/zipcode/ http://postcode.goo.ne.jp/  (gooにもありましたね) ◆googlemap API リファレンス http://code.google.com/intl/ja/apis/maps/documentation/javascript/reference.html#Geocoder

ok-rjak
質問者

お礼

わざわざこのように過去ログまで検索してくださり、ありがとうございます! Googleのもののようですが、まとめてくださって、後で見返すときに非常に便利に使えそうです。 今回はYahooの件でしたので、お礼のみで失礼します。

  • DJ-Potato
  • ベストアンサー率36% (692/1917)
回答No.1

Yahoo地図の検索の所に郵便番号を入力すると、地名が表示されてそれを選択するとその周辺の地図が出る、という機能が元々あります。 郵便番号は○○●丁目、とかで割と共通なので、郵便番号から緯度経度の代表値を取得するだけでは結構雑な結果になってしまうかもしれません。 いずれにしても、郵便番号と緯度経度または地名のリストを用意する必要があり、量は膨大なので、個人がJavaScriptで組むのは絶望的に大変だと思います。

ok-rjak
質問者

お礼

そうなんです。なかなかJavascriptで組むと膨大に大変そうなので、何か解説記事や、実装経験のある方の情報がいただければと思いました。 Googleではわりと簡単に実装できたので、Yahooでも何か方法があるかなと思ったのですが、Googleと違いネット上の情報が少なかったため、自力で実装できませんでしたorz わざわざこのような質問に回答してくださり、ありがとうございました。

関連するQ&A

  • ラジオボタンとテキストボックスの連動

    現在googleマップで経度、緯度の取得ができました。 そこで、こちらのサイト(http://www.geocities.jp/standing_art/hoheto/idokeido_old.html)のようにラジオボタン選択時のテキストボックスにのみ経度、緯度の取得を行いたいのですがどうすればいいでしょうか? 今あるソースはこれです。 <!DOCTYPE html> <html> <head> <script src="http://maps.google.com/maps/api/js?v=3&sensor=false" type="text/javascript" charset="UTF-8"></script> <script type="text/javascript"> //<![CDATA[ var map; function init() { var latlng = new google.maps.LatLng(39, 138); var opts = { zoom: 6, mapTypeId: google.maps.MapTypeId.ROADMAP, center: latlng }; map = new google.maps.Map(document.getElementById("map"), opts); google.maps.event.addListener(map, 'click', mylistener); } function mylistener(event) { document.getElementById("show_lng").innerHTML = event.latLng.lng(); document.getElementById("show_lat").innerHTML = event.latLng.lat(); } //]]> </script> </head> <body onload="init()"> <div id="map" style="height:560px"></div> 緯度 : <div id="show_lng"></div> 経度 : <div id="show_lat"></div> </body> </html>

  • Google Maps APIで特定の住所の地図を表示させたい

    Google Maps APIで以下のようなページを作りました。 <body onload="loadMap()"> <div id="map" style="width:450px; height:400px"></div> <script type="text/javascript"> //<![CDATA[ if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map")); map.setCenter(new GLatLng(37.441944, -122.141944), 15); map.addControl(new GLargeMapControl()); // GClientGeocoderを初期化 geocoder = new GClientGeocoder(); } GEvent.addListener(map, 'move', function() { var xy = map.getCenter(); document.getElementById("show_x").innerHTML = xy.lng(); document.getElementById("show_y").innerHTML = xy.lat(); }); // 「移動する」ボタンを押されると実行されます 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> <p> </p> <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> </form> <p>x</p><div id="show_x"></div> <p>y</p><div id="show_y"></div> </body> これだと、表示させたい住所を毎回入力しないといけないんですが、PHPとMySQLを使ってDBにある住所の地図を表示させたい場合はどのようにすればいいのでしょうか? <body onload="loadMap()"> を <body onload="showAddress([ここにDBからぬいてきた住所]); return false"> にしてみたんですが機能しません。

  • インターネットの地図で経度・緯度

    インターネットで地図を住所から検索とか郵便番号から検索とかいろいろありますが経度緯度から検索できるもの、また、住所などから検索したところの経度緯度を表示するそんなサイトはないでしょうか?

  • inputのvalueを変数として使うには

    下記ソースのaタグ内map.phpのパラメータ({緯度}・{経度}の部分)にinputで入力した値を渡したいので すが、どうすれば良いでしょうか? <form action="index.php" method="POST" enctype="multipart/form-data" name="data"> 緯度:<input name="lat" type="text" value="" size="20"> 経度:<input name="lng" type="text" value="" size="20"> <a href="map.php?lat={緯度}&lng={経度}">マップを表示</a> </form>

  • PHP5.1で、郵便番号をフォームに入力することにより、それに対応した住所を取得したい

    表題の通りです。 xxx-yyyy形式の、3ケタ-4ケタの郵便番号をフォームに入力すると、 何らかの形で、郵便番号に対応した、住所を取得したいです。 (UAに表示する必要はなし) (もちろん、●●ビル301など完全な住所は取得できませんが) http://www.geocoding.jp/ では、郵便番号を入力して検索 OR 住所を入力して検索すると、 該当地点の地図(Google maps)と経度緯度が表示されるのですが、(あるいはxml形式でも取得可能) 住所は表示されません。 自分で開発するのでなく、web serviceで、 こういったことを実現してくれるものはないでしょうか? === なお、もし7ケタでだめでも、3ケタの郵便番号なら、そういうことが可能、という場合でも、 お教えいただければ幸いです。 ====== P.S.(1) 郵便番号⇒経度緯度 が取得できるのですから、 経度緯度⇒住所 が取得できるweb serviceがあれば、 それで、手間や負荷はかかるものの一応解決できる、と思っています。 なので、経度緯度⇒住所 の変換可能なweb serviceをご存じでしたら、お教えいただければ幸いです。 ====== P.S.(2) なお、 地名が変わったときなどに、 郵便番号、経度緯度、住所の対応が、正確ではない(最新情報ではない)ことが想定されます。 (郵便番号 と 経度緯度 の対応は普遍なのかな・・・?) できれば、最新情報を取得したく思っております。 ====== P.S.(3) 官公庁で、そういったサービスをやっていないかな、と思ったのですが、 見つかりませんでした。 (官公庁サイトのウェブページ上のフォームに郵便番号を入力すると、ニンゲンの目で、住所がわかるサービスはありますので、 そのHTMLを解析して住所を取得する・・・というのも1つの手ですが、 HTMLデザインが変わると困りますし、また、それだと負荷や、相手方への迷惑がかかってしまうのでは、と思っています。 === P.S.(4) 例として、 http://www.geocoding.jp/ をあげましたが、 類似サービスをご存じでしたら、お教えいただけないでしょうか? 上記サービスは個人制作の模様でして、いきなりサービス停止したり緊急メンテも考えられますので。(他もそうと言えばそうですが) === P.S.(5) PHP5,1とMySQL5,?を使っているので、これらと親和性が高いと助かります。 以上、よろしくお願いします。

  • googlemap api での 座標の取得

    googlemap apiを使って地図上をクリックしたところに 吹き出しをつくり、その中のフォームに情報を入力するという ページを作成してます。 が、うまく座標がとれません。 GEvent.addListener(map, 'click', function(overlay, point) { if (point) { document.getElementById("show_x").innerHTML = point.x; document.getElementById("show_y").innerHTML = point.y; map.openInfoWindowHtml(point,"<form><tableborder=1><tr><td><input type=text id=\"show_x\"><input type=text id=\"show_y\"></td></tr>); としていますが、show_x show_y が <input type=text value=***> のところに 入りません。 <body> 緯度<p id="show_x"></p> 経度<p id="show_y"></p> </body> のところには表示されます。

  • 韓国の地図

    韓国の地図で詳しいものを探しています。 市町村名から番地まで入れると、場所を特定してくれて、緯度・経度を教えてくれるサイトなどありませんでしょうか?また、郵便番号の受付にも対応していると嬉しいです。どなたかご存じないでしょうか?(韓国語のサイトでも頑張ります) ヨーロッパの地図では以下のようなものがあるのですが、似たようなものを探しています。 ​http://www.multimap.com/​

  • google mapの地図上の緯度、経度を知ることは・・

    google map上で任意の場所の緯度、経度を知ることはできますか? また、それを知ることができたとして、その値をgooglemapに渡して地図を表示させることができますか? やりたいことは、住所がまだ暫定処置になっているところは住所指定でgooglemapで引き出せない場合や、引き出せても少しずれている場合があるため緯度、経度を地図から読み出せれば上述のことが可能になるのかなと考えました。宜しくお願いします。

  • 住所から経度・緯度がわかる検索地図は?

     住所を入力すると、その位置の経度・緯度を教えてくれる検索地図はありませんか?  地図のポイントを示すと経度・緯度が出るサイトというのはあるんですが、住所からダイレクトに探せるタイプのものはないでしょうか?

  • Google Maps APIの動作が???

    いつもお世話になっております。 Google Maps APIで、ピクセル単位で緯度・経度を出す関数fromDivPixelToLatLng()について質問させてください。 少々簡略化していますが、現在下記のようなコードで緯度、経度を表示させようとしています。 function showXY(){ var LatLng = map.fromDivPixelToLatLng(new GPoint(100,100)); document.getElementById("show_x").innerHTML = LatLng.x; document.getElementById("show_y").innerHTML = LatLng.y; } 地図を動かさなければこれでも動きます。 ところが、地図の中心をドラッグで移動させた後にこのコードを起動させるとおかしなことになります。緯度・経度が変わらないのです。 移動させた後の地図の経度・緯度を算出させたいのですが、どうすれば良いのでしょうか?

専門家に質問してみよう