Я пытаюсь загрузить карту на страницу 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>