尝试使用Google Places API显示地图,但由于出现以下错误而未显示:initMap不是函数

时间:2019-04-26 13:29:07

标签: javascript wordpress api google-places-api

我正在尝试使用Google Places API在我的WordPress页面上加载地图。但是,它不会显示,这可能是由于以下错误:“ 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>

0 个答案:

没有答案