Google карты поиск города - PullRequest
0 голосов
/ 04 марта 2019

У нас есть поле автозаполнения, использующее API-интерфейсы Google Maps для автоматического заполнения полей сведений о городе.

Таким образом, используя тип "(города)", мы получаем список городов, соответствующих поисковому запросу, однако данные не соответствуюти в крупных австралийских городах отсутствуют такие вещи, как поле postal_code.Выполните поиск, как показано ниже

 this.autocomplete = new google.maps.places.Autocomplete((this.element), { types: ["(cities)"] , componentRestrictions: {country: ["au","nz"]}});

Так что при поиске по городу, такому как пригород, например "Ричмонд", вы получите следующий ответ

/**/_xdc_._n1gyyx && _xdc_._n1gyyx( {
   "html_attributions" : [],
   "result" : {
      "address_components" : [
         {
            "long_name" : "Richmond",
            "short_name" : "Richmond",
            "types" : [ "locality", "political" ]
         },
         {
            "long_name" : "Yarra City",
            "short_name" : "Yarra",
            "types" : [ "administrative_area_level_2", "political" ]
         },
         {
            "long_name" : "Victoria",
            "short_name" : "VIC",
            "types" : [ "administrative_area_level_1", "political" ]
         },
         {
            "long_name" : "Australia",
            "short_name" : "AU",
            "types" : [ "country", "political" ]
         },
         {
            "long_name" : "3121",
            "short_name" : "3121",
            "types" : [ "postal_code" ]
         }
      ],

с "postal_code" и "locality", "political"

Однако при поиске в Мельбурне вы ожидаете детали с почтовым индексом 3000, однако вы получаете только

/**/_xdc_._ntt86i && _xdc_._ntt86i( {
   "html_attributions" : [],
   "result" : {
      "address_components" : [
         {
            "long_name" : "Melbourne",
            "short_name" : "Melbourne",
            "types" : [ "colloquial_area", "locality", "political" ]
         },
         {
            "long_name" : "Victoria",
            "short_name" : "VIC",
            "types" : [ "administrative_area_level_1", "political" ]
         },
         {
            "long_name" : "Australia",
            "short_name" : "AU",
            "types" : [ "country", "political" ]
         }
      ],

Так что теперь имя хранится в" colloquial_area "," locality "," polit "инет никакого "почтового индекса"

Но при фильтрации по Мельбурну в автозаполнении все, что вы получаете, это тот вариант Мельбурна или аэропорт Мельбурна, который ни один не является правильным.Если вы затем измените типы на "(регионы), вы сможете искать по почтовому индексу, который вернет правильную версию Мельбурна.

Кто-нибудь сталкивался с этим и нашел способ заставить отфильтрованные результаты показывать только версии с почтовым индексом

1 Ответ

0 голосов
/ 08 марта 2019

Это поведение работает должным образом, поскольку в таких местах, как Мельбурн, внутри области есть несколько почтовых индексов (например, 3977, 3156, 3806, 3978 и т. Д.), Поэтому результаты не возвращают почтовый код, поскольку он не предназначен для обработки.несколько почтовых индексов и не могут возвращать один почтовый индекс, так как это повлияет на целостность информации, поскольку она не будет применима к остальным почтовым индексам.

Вы можете подать Запрос на функцию в выпуске Tracker для запроса возможности такого рода при обработке нескольких почтовых индексов.

...