我正在尝试使用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>