0

私たちのサイトにはGoogle Maps APIを利用して、と結果。ユーザーが「ニューヨーク」を検索し、具体的に、彼らはニューヨーク州を探しているこのAPI呼び出しが行われていることを示している提案をクリックすると:Google Maps APIをクエリすると、「ニューヨーク、米国」と「ニューヨーク、ニューヨーク、米国」と同じ結果が得られます

https://maps.googleapis.com/maps/api/js/GeocodeService.Search?4sNew%20York%2C%20United%20States&7sUS&8m2&1scountry&2sUS&9sen-US&callback=xdc._ohwoca&token=44216

彼らは単に「ニューヨーク」と入力するととこのAPIの呼び出しが行われ、ヒット入力するか、「ニューヨーク、NYの」意味の提案を選択します。

https://maps.googleapis.com/maps/api/js/GeocodeService.Search?4sNew%20York%2C%20NY%2C%20United%20States&7sUS&8m2&1scountry&2sUS&9sen-US&callback=xdc._n2ga8u&token=62787

問題を返されたJSONは、コールバックを除いて、2間で同一であることですヘッダー:

{ 
    "results" : [ 
     { 
     "address_components" : [ 
      { 
       "long_name" : "New York", 
       "short_name" : "New York", 
       "types" : [ "locality", "political" ] 
      }, 
      { 
       "long_name" : "New York", 
       "short_name" : "NY", 
       "types" : [ "administrative_area_level_1", "political" ] 
      }, 
      { 
       "long_name" : "United States", 
       "short_name" : "US", 
       "types" : [ "country", "political" ] 
      } 
     ], 
     "formatted_address" : "New York, NY, USA", 
     "geometry" : { 
      "bounds" : { 
       "northeast" : { 
        "lat" : 40.9175771, 
        "lng" : -73.70027209999999 
       }, 
       "southwest" : { 
        "lat" : 40.4773991, 
        "lng" : -74.25908989999999 
       } 
      }, 
      "location" : { 
       "lat" : 40.7127837, 
       "lng" : -74.0059413 
      }, 
      "location_type" : "APPROXIMATE", 
      "viewport" : { 
       "northeast" : { 
        "lat" : 40.9152555, 
        "lng" : -73.70027209999999 
       }, 
       "southwest" : { 
        "lat" : 40.4960439, 
        "lng" : -74.25573489999999 
       } 
      } 
     }, 
     "place_id" : "ChIJOwg_06VPwokRYv534QaPC8g", 
     "types" : [ "locality", "political" ] 
     } 
    ], 
    "status" : "OK" 
} 

この結果、不正確な検索結果がユーザーに提供されます。具体的には、"types"フィールドのキーを押します。両方の書類では、ユーザーが「地域」を検索したことが明記されているので、常にが指定されている可能性があります。

これはGoogle Maps APIのバグですか?送信している内容をより厳密に解釈するためにフラグを指定する必要がありますか?他のアイデア?

注:www.google.com/mapsに直面しているユーザーに対してこの検索を実行すると、NYCではなくNY州になります。私はそのページがAPIとどのように違っていて、何が起こっているのかを知ることができません。

+0

問題を再現するための[最小限の完全で検証可能な例](http://stackoverflow.com/help/mcve)を提供してください。あなたはどのようにこれらの結果を得ますか?使用しているAPIのバージョンは何ですか?私は同じ結果を得ていません。 – MrUpsidown

+0

@MrUpsidown私は自分のリンクがこの問題を再現する方法を提供したと仮定しました。 Googleではmaps.googleapis.com/maps-api-v3/api/js/27/12/でAPIのバージョンを使用しています。また、Googleの独自のAPIドキュメント(https://developers.google.com/maps/documentation/geocoding/intro)でNY以外の国を試すこともできます。 「NY」または「New York」と入力すると、州ではなく都市に戻ります。 – Necoras

答えて

1

私はissueをGoogleマップチームに開設しました。彼らのエンジニアによれば、これは予想される動作です。彼らは、ほとんどのユーザーが、州ではなく「ニューヨーク」を検索するときに特に「ニューヨーク市」を見るつもりであると信じています。特定の "City"パラメータを指定せずに "New York"を指定した場合、ユーザーのクエリを捕捉し、州の検索を強制しました。

関連する問題