2017-06-22 4 views
0

特定の境界内のアドレスを検索するGoogleマップAPI呼び出しを作成しようとしています。境界を使用して座標を検索する

私のテストでは、ベルギーの村の郵便番号である「8670」を検索したいと考えています。この村: https://www.google.com/maps/place/8670+Koksijde,+Belgium/@51.1129798,2.6459201,13z/data=!3m1!4b1!4m5!3m4!1s0x47dcba8d702c832d:0x10129f1eb06df0d2!8m2!3d51.117577!4d2.6744402

APIコールで国・パラメータを使用しては私に正しい答えを与える: https://maps.googleapis.com/maps/api/geocode/json?address=8670|country:BE

しかし、境界パラメータを使用すると、私のアメリカの都市を返します: https://maps.googleapis.com/maps/api/geocode/json?address=8670&bounds=53.6014224,7.0979623|49.4057287,2.4896213

を私は境界が厳格なフィルタではないことを知っていますが、その郵便番号の範囲の範囲にある都市があるので、なぜ私はそれを見つけて私の境界から遠く離れた都市を返さないのでしょうか?

country-parameterではなくboundを使用したいのは、3カ国(NL、BE、LU)の検索であり、country-parameterでORを使用できないことがわかっているからです。

答えて

1

ドキュメントでは、boundsパラメータによって、この境界ボックスの南西および北東のコーナーの緯度/経度座標が定義されています。

https://developers.google.com/maps/documentation/geocoding/intro#Viewports

したがって、第1の座標は南西の座標及び第2座標されるべきである北東の座標されるべきです。あなたの例では、境界を逆順NE | SWで定義します。ただ、boundsパラメータに値を交換し、あなたは結果が期待しているだろう '8670コクシード、ベルギー'(場所ID ChIJLYMscI263EcR0v​​BtsB6fEhA):

https://maps.googleapis.com/maps/api/geocode/json?address=8670&bounds=49.4057287%2C2.4896213%7C53.6014224%2C7.0979623&key=YOUR_API_KEY

または

https://maps.googleapis.com/maps/api/geocode/json?components=postal_code%3A8670&bounds=49.4057287%2C2.4896213%7C53.6014224%2C7.0979623&key=YOUR_API_KEY私はこれが役に立てば幸い!

+0

これは、座標の順序を完全に見渡すように見えるので、これは非常に役に立ちます。 (これは別の「問題」につながります。私のアプリケーションからのAPIの呼び出しは、同じ呼び出しをしたときに別の結果を返します(アプリケーションからAPI-Call文字列を出力したので、100%同じ呼び出し)。両方の場所が境界内にあり、間違っていない、ちょうど私のアプリからの呼び出しが別の結果を与える – nbar

関連する問題