Google map loader api, как включить библиотеки типа places

Вы хотите включить «drawing» | «geometry» | «localContext» | «places» | «visualization»?

Вот, пожалуйста:

import { Loader } from "@googlemaps/js-api-loader"

const loader = new Loader({
  apiKey: API_KEY,
  mapId: MAP_ID,
  version: "weekly",
  libraries: ["places"]
});
Войдите в полноэкранный режим Выйти из полноэкранного режима

Если бы вы пытались получить доступ к местам на экземпляре карты google, это бы не удалось, потому что они не были включены. Теперь с добавлением библиотеки это будет работать, вот пример кода:

var service = new google.maps.places.PlacesService(map);

const request = {
  query: value,
  fields: ['name', 'geometry']
}

service.findPlaceFromQuery(request, function(results, status) {
  if (status === google.maps.places.PlacesServiceStatus.OK) {
    for (var i = 0; i < results.length; i++) {
      const place = results[i];
      if (!place.geometry || !place.geometry.location) return;

      new google.maps.Marker({
        map: map,
        position: place.geometry.location,
      });
    }
    map.setZoom(13);
    map.setCenter(results[0].geometry.location);
  }
});
Вход в полноэкранный режим Выход из полноэкранного режима

Оцените статью
Procodings.ru
Добавить комментарий