シンガポールの郵便番号を使用して緯度経度を取得するためにGoogle Geocode APIを使用しています
私は次のデータを取得しようとしました:
(1) http://maps.googleapis.com/maps/api/geocode/json?address=505468&sensor=false
(2) http://maps.googleapis.com/maps/api/geocode/json?address=Singapore%20505468&sensor=false
(3) http://maps.googleapis.com/maps/api/geocode/json?address=Singapore%20505468&sensor=false®ion=sg
しかし、それはインドからの位置を返します
https://developers.google.com/maps/documentation/geocoding/?hl=fr#RegionCodes
国別(シンガポール)の結果のみを取得するその他の方法。
私はそれが正しい結果を返すようにしようとしました
http://maps.googleapis.com/maps/api/geocode/json?address=Singapore%20133224&sensor=false
結果を特定の国に制限するには、コンポーネントフィルタリングを使用します。
しかし、ここでは問題ではありません。結果の国はSG
に設定されていますが、場所は間違っています(インドに配置されている)ため、ジオコーダーの結果は間違っています。
私は与えられたアドレスが怖いです(郵便番号が存在しないようです)、あなたができる唯一のことはグーグルに間違った結果を報告することです。
これを行う正しい方法は、 componentRestrictions を指定することです
例えば:
var request = {
address: address,
componentRestrictions: {
country: 'UK'
}
}
geocoder.geocode(request, function(results, status){
//...
});
単一の国または複数の国を設定できます
OR
このアプローチを使用できるはずです http://maps.googleapis.com/maps/api/geocode/json?components=country:US|postal_code:5037
住所を削除し、コンポーネントに郵便番号を渡し、住所に値があるかどうかを確認します。郵便番号を持つユーザーが選択した別の値を渡して、APIを検証します。