Wir haben eine eingebettete Suchleiste in unserer Website, die das Google Maps API für beide Vorschläge verwendet und Ergebnisse. Wenn ein Nutzer nach „New York“ und klickt speziell auf dem Vorschlag, die anzeigt, dass sie für New York State suchen dieser api-Aufruf erfolgt:Wenn ich das Google Maps API abfrage, bekomme ich identische Ergebnisse für "New York, USA" und "New York, NY, USA"
Wenn sie geben Sie einfach in „New York“ und drücken Sie die Eingabetaste, oder den Vorschlag auszuwählen, die „New York, NY“, diese api Anruf getätigt wird bezeichnet:
das Problem ist, dass das zurückgegebene JSON zwischen den beiden, mit Ausnahme des Callback identisch ist Überschrift:
{
"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"
}
Dies führt zu falschen Suchergebnissen für unsere Benutzer. Genauer gesagt schalten wir das Feld "types"
ab. Da beide Dokumente angeben, dass der Benutzer nach einer "Lokalität" gesucht hat, geben wir immer Ergebnisse für New York City statt New York State zurück, wie angegeben wurde.
Ist das ein Fehler in der Google Maps-API? Müssen wir eine Flagge angeben, um eine strengere Interpretation dessen, was wir senden, zu erzwingen? Andere Ideen?
Hinweis: Wenn Sie diese Suche auf dem Nutzer unter www.google.com/maps ausführen, erhalten Sie den Bundesstaat New York statt NYC. Ich weiß nicht genug darüber, wie diese Seite sich von der API unterscheidet, um zu wissen, was dort passiert.
Geben Sie ein [minimales, vollständiges und überprüfbares Beispiel] (http://stackoverflow.com/help/mcve) an, mit dem das Problem reproduziert werden kann. Wie erhalten Sie diese Ergebnisse? Welche Version der API verwenden Sie? Ich bekomme nicht die gleichen Ergebnisse. – MrUpsidown
@MrUpsidown Ich hatte angenommen, dass meine Links eine Möglichkeit zur Reproduktion des Problems bieten. Wir verwenden die Version der API unter maps.googleapis.com/maps-api-v3/api/js/27/12/. Darüber hinaus können Sie jeden Bundesstaat außerhalb von New York unter der folgenden API-Dokumentation von Google testen: https://developers.google.com/maps/documentation/geocoding/intro. Sie sehen dann den Status. Wenn Sie "NY" oder "New York" eingeben, erhalten Sie die Stadt und nicht den Staat zurück. – Necoras