Google maps Места запроса вернуть только одно место - PullRequest
0 голосов
/ 29 января 2019

Мне нужно получить разные места по их названию и положению, я использую Angular 6 и PlacesService с карт Google.

Вот что я делаю:

from(this._mapsApiLoader.load()).subscribe(() => {
    const service = new google.maps.places.PlacesService(document.createElement('div'));
    service.findPlaceFromQuery({
      query: this.search,
      fields: ['geometry', 'name', 'formatted_address'],
      locationBias: new Coordinates(position[0], position[1])
    }, (results) => {

      this._ngZone.run(() => {
        if (results !== undefined
            && results !== null
            && results.length > 0
        ) {

          console.log(results);
        }
      });
    });
  });

МойПроблема в том, что запрос возвращает только ОДНО место, а не все места в координатах.Я также пытаюсь поставить город вместо координат, но все же только в одном месте.

Вот пример результата, который я получаю:

[{…}]
  0: {formatted_address: "26 Rue du Dr Mazet, 38000 Grenoble, France", geometry: {…}, name: "IKKS Retail", html_attributions: Array(0)}
  length: 1
  __proto__: Array(0)

Я всегда получаю только один, даже вгорода, в которых более 10 магазинов

И когда я ищу одну и ту же вещь на картах Google, я вижу несколько мест, как я могу получить все тезисы?

РЕДАКТИРОВАТЬ:

Я пытаюсь использовать textSearch вместо findPlaceFromQuery:

service.textSearch({
      query: this.search,
      location: new google.maps.LatLng(position[0], position[1]),
      radius: 5000,
    }, ...

Теперь я могу получить несколько результатов, но некоторые результаты действительно находятся за пределами радиуса, я получил один результат на 30 км.от местоположения с этим радиусом 5000 метров.

...