Получение place_id с помощью API Карт Google - PullRequest
0 голосов
/ 02 октября 2019

Я работаю над Angular Project и пытаюсь получить place_id адрес, чтобы я мог использовать его с API Google Maps Embed и показывать результат на странице.

Прямо сейчас я использую API Google Maps Embed, отправляя http-запрос с указанным адресом, например так: https://www.google.com/maps/embed/v1/place?key=API_KEY&zoom=18&maptype=satellite&q=Example%20Street%201%2C%209999%20Example%20Town%20Example%20Country.

Но моя цель - показать пользователю сообщение в зависимости отна результат адреса, введенного пользователем.

Например, если пользователь ввел улицу, которую невозможно найти, но введенный город действителен, Карты должны указывать на город. И если улица и город недействительны, должно появиться сообщение типа «Ни улица, ни город не найдены! ...». Но проблема с API Google Maps Embed заключается в том, что я не получаю ответ, поэтому могу что-то проверить.

Так что я решил сначала выполнить запрос place_id, и если он вернется, я воспользуюсь API для встраивания карт, иначе покажу пользователю всплывающее сообщение.

IЯ могу получить place_id с помощью API Адресов, а также API Карт JavaScript. Это код:

    const request = {
    query: 'New York',
    fields: ['place_id']
    };

    this.map = new google.maps.Map(this.mapElement.nativeElement);

    this.service = new google.maps.places.PlacesService(this.map);
    this.service.findPlaceFromQuery(request, (results, status) => {
      if(status === google.maps.places.PlacesServiceStatus.OK) {
        this.placeId = results[0].place_id;
      }
    })

В соответствии с документами оплачивается google.maps.Map(), но с помощью API Places для получения базовых данных предназначено длясвободно. И чтобы иметь возможность использовать PlacesService, мне нужно передать объект Map.

Итак, мой вопрос, есть ли другой способ получить place_id без выставления счетов через JavaScript API Карт?

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