我想在每个 WordPress 帖子中显示地图。位置会有所不同,地址将从数据库中获取。此代码正在生成结果,但无法正常工作。
- 地图制作工具不见了。
- 缩放选项不起作用或我无法直观地看到它。
这个函数需要在body标签中提到initialize(),所以我将我的body标签定制为:
<body onload="initialize()">
这是我正在使用的脚本:
var geocoder;
var map;
var address ="<?php echo $address;?>";
function initialize() {
geocoder = new google.maps.Geocoder();
var myOptions = {
zoom: 16,
center: new google.maps.LatLng(-33, 151),
mapTypeControl: true,
mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
navigationControl: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
if (geocoder) {
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (status != google.maps.GeocoderStatus.ZERO_RESULTS) {
map.setCenter(results[0].geometry.location);
var infowindow = new google.maps.InfoWindow(
{ content: '<b>'+address+'</b>',
size: new google.maps.Size(150,50)
});
var marker = new google.maps.Marker({
position: results[0].geometry.location,
map: map,
title:address
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
} else {
alert("No results found");
}
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
}
我正在使用在 WordPress 发布循环中显示结果的 Div:
<div id="map_canvas" style="width:470px; height:358px"></div>
此代码在HTML 文件中使用时运行良好,由于我知识贫乏,我无法弄清楚为什么当 div 处于循环中时它不工作