4

Googleマップで適切な住所を取得しようとしてきましたが、Googleマップは常に間違った緯度と経度の値を提供することになり、間違った住所が表示されました。

https://maps.googleapis.com/maps/api/geocode/json?address=1735+Vine+Street+AVALON+Hollywood+Los+Angeles+CA

上記の API を次のパラメータで使用します。

実際の住所 - AVALON Hollywood, 1735 Vine Street, Los Angeles, USA

2つの異なるアドレス形式で試しました

パラメータが 1735+Vine+Street+AVALON+Hollywood+Los+Angeles+CAとして渡されると、 値は次のようになります。

lat: 34.0522342,
lng: -118.2436849

パラメータが渡されると、 AVALON+Hollywood+1735+Vine+Street+Los+Angeles+CA の 値が得られます。

lat: 34.1027186,
lng: -118.3271694

正確な値は次のとおりです。

lat: 34.1027414,
lng: -118.3272224  
4

1 に答える 1

2

あなたの要求にはいくつかの問題があります。つまり、私が指摘したい重要なことが2つあります。

  • ジオコーディング API とその使用
  • Places API とその利用方法

ジオコーディング API

あなたのリクエストでは、Geocoding API を使用していることがわかります。この API は番地のみで使用されますが、場所の名前も追加します。

Google マップは提供された情報を使用して最善を尽くしますが、この場合のように不正確であることがよくあります。

特定のケースでは、送信するリクエストは address のみを使用する必要があります1735 Vine St, Los Angeles, CA 90028

次のようになります。

逆ジオコーディングを使用して結果を確認できます。ドキュメントに良い例があり、結果をテストするのにも非常に役立ちます。

プレイス API

それでも、ジオコーディング リクエストを修正した後、期待する正確な座標が得られない場合があります。これは、ジオコーディング API が場所を示すように設計されておらず、単に通りの場所を示しているためです。

API は、実際に必要なものを理解するために推測やデータの組み合わせを行うことがありますが、それでも十分ではありません。

ユーザーを特定の場所に誘導したい場合、使用すべきサービスは Google Maps Places API です。

この API を正しく使用するには、最初に目的の場所を Google プレイス サービスに追加する必要があります (まだ追加されていない場合)。

それを行うには多くの方法があります。開始するために、その目的を達成するのに役立つと思われる記事を見つけました。


この回答が問題の解決に近づき、API を使用した Google の運が上がることを願っています。

于 2016-07-12T11:37:22.333 に答える