不知道为什么...在其他每个浏览器和平台上都可以正常工作。
我在网络周围的远距离观看了很长时间,并且在这里尝试了一些建议的修复程序,但这似乎是已经发布的内容的新问题。我希望有人能提供帮助。
示例页面:http://greenleavesmarketing.co.uk/sherif/contact/
header.php:
<?php //Map
echo '<script type="text/javascript">
function initialize() {
var locations = [
['';
if($options['custom_logo']) {
echo '<img src="' . $options['custom_logo'] . '" alt="';
echo bloginfo('name');
echo '" style="width:150px;padding: 0px; margin: 10px 0px 0px 0px;" />';
}
echo '<p><strong>'.$options["company"].'</strong><br />'.$options["address-one"].'<br />'.$options["address-two"].'<br />'.$options["postcode"].'</p>', '.$options["latitude"].', '.$options["longitude"].', 1],';
if($options['latitude2'] != '') {
echo '['';
if($options['custom_logo']) {
echo '<img src="' . $options['custom_logo'] . '" alt="';
echo bloginfo('name');
echo '" style="width:150px;padding: 0px; margin: 10px 0px 0px 0px;" />';
}
echo '<p><strong>'.$options["company"].'</strong><br />'.$options["address-one2"].'<br />'.$options["address-two2"].'<br />'.$options["postcode2"].'</p>', '.$options["latitude2"].', '.$options["longitude2"].', 2]';
}
echo '];
window.map = new google.maps.Map(document.getElementById('map'), {
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infowindow = new google.maps.InfoWindow();
var bounds = new google.maps.LatLngBounds();
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map
});
bounds.extend(marker.position);
google.maps.event.addListener(marker, 'click', (function (marker, i) {
return function () {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
map.fitBounds(bounds);
var listener = google.maps.event.addListener(map, "idle", function () {
map.setZoom(' . $options["zoom"] . ');
google.maps.event.removeListener(listener);
});
}
function loadScript() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&' + 'callback=initialize';
document.body.appendChild(script);
}
window.onload = loadScript;
</script>'; ?>
您的locations
数组正在输出为:
var locations = [
['<p><strong>The London Dental Clinic</strong><br />40 Harley St<br />London<br />W1G 9PP</p>', 51.518676921614315, -0.14653116464614, 1],];
IE8将其视为长度2的数组,然后在javaScript中造成循环中的错误。如果您在上次]
之前立即删除逗号,则应起作用。
您可能应该将PHP更改为:
if($options['custom_logo']) {
echo '<img src="' . $options['custom_logo'] . '" alt="';
echo bloginfo('name');
echo '" style="width:150px;padding: 0px; margin: 10px 0px 0px 0px;" />';
}
echo '<p><strong>'.$options["company"].'</strong><br />'.$options["address-one"].'<br />'.$options["address-two"].'<br />'.$options["postcode"].'</p>', '.$options["latitude"].', '.$options["longitude"].', 1]';
if($options['latitude2'] != '') {
echo ', ['';
if($options['custom_logo']) {
echo '<img src="' . $options['custom_logo'] . '" alt="';
echo bloginfo('name');
echo '" style="width:150px;padding: 0px; margin: 10px 0px 0px 0px;" />';
}
如果定义了第二个位置,请查看如何将其更改为仅添加逗号?
请注意,我实际上不知道PHP,所以我可能错误地更改了它:)