0

Я хочу, чтобы получить только один уникальный результат от веб-службы автозаполнения:Почему служба «Места на карте Google» дает мне те же города два раза с разными атрибутами (place_id, coords ecc ..)?

Это моя просьба: https://maps.googleapis.com/maps/api/place/autocomplete/json?input=napoli ita&type=(cities)&language=en&key={API_KEY}

и это ответ

{ 
    "predictions": [ 
    { 
     "description": "Naples, Metropolitan City of Naples, Italy", 
     "id": "b2aaa9753e7bab447d0a3f71a2336c8bb96c3cac", 
     "matched_substrings": [ 
     { 
      "length": 6, 
      "offset": 0 
     }, 
     { 
      "length": 3, 
      "offset": 37 
     } 
     ], 
     "place_id": "ChIJ6_p622YIOxMRfriMZcxDOtI", 
     "reference": "ClRCAAAA6jM0wQfsTkmn2G9JhSrJK1XN5mdK0nFiE_iNiSpmOpzWV9E5cE7Bn5hnxEZy7EfQrTm5uDagf82Sjc-6wBhd7ZtYgLUXArJNYcI1WogVH6USEGz0Cao3FSrzmLlNiP5zhqAaFKa_hu7uIBoAvErvdqhSfF-r7QfZ", 
     "structured_formatting": { 
     "main_text": "Naples", 
     "main_text_matched_substrings": [ 
      { 
      "length": 6, 
      "offset": 0 
      } 
     ], 
     "secondary_text": "Metropolitan City of Naples, Italy", 
     "secondary_text_matched_substrings": [ 
      { 
      "length": 3, 
      "offset": 29 
      } 
     ] 
     }, 
     "terms": [ 
     { 
      "offset": 0, 
      "value": "Naples" 
     }, 
     { 
      "offset": 8, 
      "value": "Metropolitan City of Naples" 
     }, 
     { 
      "offset": 37, 
      "value": "Italy" 
     } 
     ], 
     "types": [ 
     "locality", 
     "political", 
     "geocode" 
     ] 
    }, 
    { 
     "description": "Napoli, Metropolitan City of Naples, Italy", 
     "id": "4d33ea47519b8f9c04635b1a9bae12f04197b99d", 
     "matched_substrings": [ 
     { 
      "length": 6, 
      "offset": 0 
     }, 
     { 
      "length": 3, 
      "offset": 37 
     } 
     ], 
     "place_id": "ChIJRw3rhP-wOxMRP2qkGuYBOxo", 
     "reference": "ClRCAAAAZZJtsiAUKI1qcM0-X_srZwzECGVTK4FtCwEVnUxa7xZJOV5VIyjYDXjqZ6miFEQ1_-yge9sGrbYsQAxOUgriaYZj1juHpRJiKijVRFztW40SEFtfe85oDpHJndMpB2KVxw4aFFKZyol4j79xsZ6f6GlA9osp-uSh", 
     "structured_formatting": { 
     "main_text": "Napoli", 
     "main_text_matched_substrings": [ 
      { 
      "length": 6, 
      "offset": 0 
      } 
     ], 
     "secondary_text": "Metropolitan City of Naples, Italy", 
     "secondary_text_matched_substrings": [ 
      { 
      "length": 3, 
      "offset": 29 
      } 
     ] 
     }, 
     "terms": [ 
     { 
      "offset": 0, 
      "value": "Napoli" 
     }, 
     { 
      "offset": 8, 
      "value": "Metropolitan City of Naples" 
     }, 
     { 
      "offset": 37, 
      "value": "Italy" 
     } 
     ], 
     "types": [ 
     "locality", 
     "political", 
     "geocode" 
     ] 
    } 
    ], 
    "status": "OK" 
} 

Вы можете видеть, что это вернуть меня тот же город с разным идентификатором места, именем, коордами, но тем же самым типом. Почему это?

ответ

0

Похоже, что Google имеет два разных населенных пункта с тем же именем в той же провинции Италии, что приводит к точному описанию в автозаполнении.

Посмотрите место ID ChIJ6_p622YIOxMRfriMZcxDOtI.

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#place_id%3DChIJ6_p622YIOxMRfriMZcxDOtI

А теперь на месте ID ChIJRw3rhP-wOxMRP2qkGuYBOxo

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#place_id%3DChIJRw3rhP-wOxMRP2qkGuYBOxo

Оба имеют такое же имя, тот же административный уровень 1 площадь и административный уровень площади 2. Административная зона уровня 3 другой, но он не появляется в описании автозаполнения, поэтому вы не можете отличить эти места.

У меня нет местных знаний, поэтому я не могу сказать, правильны ли эти данные. Если вы считаете, что эти данные не так, не стесняйтесь, чтобы Google знал об этом, как указан в этой странице поддержки:

https://support.google.com/maps/answer/3094088

Надеется, что это помогает!