[node.js] Geocodeサービスを使った住所→緯度経度変換処理
Yahoo!ジオコーダAPIを利用して住所から緯度経度を求めるスニペット。
最初はGoogleのGeocodeサービスを使う予定だったのですが、地図を表示しないでGeocodeサービスだけ利用するのは規約違反になるらしいので却下。
Geocoding API は Google マップ上の結果表示と組み合わせる場合にのみ使用できます。地図に表示せずにジオコーディングの結果だけを利用することは禁止されています。
YahooのWeb APIの利用制限には、回数以外の記述がないのでわからないけれど、もしかすると地図を表示せずに変換にだけ使うのはこっちもだめかも。
怒られたら消します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
var request = require('request'); var geocodeURI = 'http://geo.search.olp.yahooapis.jp/OpenLocalPlatform/V1/geoCoder?'; var address = process.argv[2]; if(!address){ console.log('Not Found address') return ; } geocodeURI += "&appid=" + "アプリケーションID"; //Yahooデベロッパーネットワークで取得 geocodeURI += "&output=json"; geocodeURI += "&query=" +encodeURI(address.toString("utf8")); console.log(geocodeURI); request(geocodeURI, function (error, response, body) { if (!error && response.statusCode == 200) { var json = JSON.parse(body); console.log(json) } }); |
実行
1 |
$ node geocode.js 高崎市 |
Yahoo!ジオコーダAPIは、駅やランドマークには対応していないみたい。