Как вернуть значения автозаполнения только в определенном радиусе в Google Autocomplete (ngx-autocom-place)?

#angular #google-places

#angular #google-places

Вопрос:

Я пытаюсь использовать Google Places в своем приложении Angular, чтобы возвращать пользователю в результате автозаполнения только адреса, которые находятся в радиусе от местоположения, поэтому из документации я должен использовать параметры как location radius и strictbounds .

Для использования автозаполнения я использую следующую библиотеку ngx, но проблема в том, что после установки всех параметров в параметрах, когда я пытаюсь записать определенный адрес, сначала я получаю только тот, который находится в диапазоне, но если я все равно попытаюсь записать один из диапазона или даже другой город, который находится вне диапазона, он все равно вернет эти значения, и я бы предотвратил это.

Вот мои параметры автозаполнения

   addressOptions = {
    types: ['address'],
    componentRestrictions: {
      country: 'it'
    },
    location: new google.maps.LatLng( 44.7179422, 10.5465457),
    radius: '1000',
    strictbounds: true
  };

        <input
          type="text"
          class="form-control"
          required
          placeholder="es. Via D'israeli"
          formControlName="indirizzo"
          ngxAutocomPlace
          [options]="addressOptions"
          (selectedPlace)="addressChange($event)"
        />
  

Комментарии:

1. Привет @igor-mytyuk, автор библиотеки ngx, которую вы используете здесь, пожалуйста, попробуйте обновить до последней версии пакета v1.0.4

2. @user3550312 привет, vlafranca, я только что обновил библиотеку до 1.0.4, но strictbounds она по-прежнему игнорируется..

3. Хорошо @igor-mytyuk Я проведу несколько тестов и буду держать вас в курсе

Ответ №1:

mytyuk, похоже, strictBounds будет учитываться только при передаче bounds свойства (https://developers.google.com/maps/documentation/javascript/places-autocomplete)

strictBounds — это логическое значение, указывающее, должен ли API возвращать только те места, которые строго находятся в пределах области, определенной заданными границами. API не возвращает результаты за пределами этого региона, даже если они соответствуют вводимым пользователем данным.