Попытка показать карту с помощью API Google Адресов, но она не отображается из-за следующей ошибки: initMap не является функцией - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь загрузить карту на страницу WordPress, используя Google Places API.Однако он не отображается, что, вероятно, связано со следующей ошибкой: «initMap не является функцией».Я обнаружил несколько связанных угроз, но не смог найти правильный ответ, который относится к моему конкретному делу:

<script src="https://maps.googleapis.com/maps/api/js?key=<API KEY>&libraries=places&callback=initMap" async defer></script>

<script>
jQuery(document).ready(function(){
  var map;
        var service;
        var infowindow;

        function initMap() {
          var sydney = new google.maps.LatLng(-33.867, 151.195);

          infowindow = new google.maps.InfoWindow();

          map = new google.maps.Map(
              document.getElementById('map'), {center: sydney, zoom: 15});

          var request = {
            query: 'Museum of Contemporary Art Australia',
            fields: ['name', 'geometry'],
          };

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

          service.findPlaceFromQuery(request, function(results, status) {
            if (status === google.maps.places.PlacesServiceStatus.OK) {
              for (var i = 0; i < results.length; i++) {
                createMarker(results[i]);
              }

              map.setCenter(results[0].geometry.location);
            }
          });
        }

        function createMarker(place) {
          var marker = new google.maps.Marker({
            map: map,
            position: place.geometry.location
          });

          google.maps.event.addListener(marker, 'click', function() {
            infowindow.setContent(place.name);
            infowindow.open(map, this);
          });
        }
  });
</script>
...