0
我已經使用API v3集成了Google地圖,並且所有內容都正常工作,但是我收到了一些控制檯錯誤,並且想要查看是否有人可以指出原因。 (匿名函數)VM262:13T.trigger main.js:15N.Hc VM261:137(匿名函數)main.js(無名函數)main_js :13T.trigger main.js:15N.Xl VM261:122(匿名函數)Google地圖API js錯誤
在Firefox上,我得到: 類型錯誤:s爲null
基於閱讀其他答案它會出現的DOM不是招」 t完全加載時,地圖初始化,但這似乎並不是這樣,因爲我在加載運行它。我的代碼如下,如果任何人都可以指出我爲什麼這些錯誤可能發生的方向(一切似乎工作正常!),那將不勝感激(fyi有一些PHP代碼在這裏用於插入db變量到JS):
var map;
var infos = [];
var ib = new InfoBox();
var infowindow;
function initialize() {
var contentString = '';
infowindow = new google.maps.InfoWindow({
content: contentString
});
map = new google.maps.Map(document.getElementById('map-canvas'));
var address = 'Netherlands';
var geocoder = new google.maps.Geocoder();
geocoder.geocode({ 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
map.fitBounds(results[0].geometry.viewport);
}
});
var markers = [
[1, '52.350785','5.264702', 2, 'Almere', '01345'],[1, '52.992753','6.564228', 2, 'Assen', '']
];
for (var i = 0; i < markers.length; i++) {
setMarkers(map, markers[i]);
}
}
function setMarkers(map, beach) {
var image = new google.maps.MarkerImage('/img/marker.png',
// This marker is 20 pixels wide by 32 pixels tall.
new google.maps.Size(21, 34),
// The origin for this image is 0,0.
new google.maps.Point(0,0),
// The anchor for this image is the base of the flagpole at 0,32.
new google.maps.Point(5, 34));
var html = '<div class="phoney">'+beach[4]+'<br>'+beach[5]+'<\/div>';
var myLatLng = new google.maps.LatLng(beach[1], beach[2]);
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
icon: image,
content:html,
title: beach[4],
zIndex: beach[3]
});
var boxText = document.createElement("div");
boxText.style.cssText = "border: 2px solid #4a5461; margin-top: 8px;background: #ffffff; padding: 5px;font-family: \'ff-din-web-n6\',\'ff-din-web\',sans-serif; font-size: 17px; color: #4a5461;";
boxText.innerHTML = beach[4] + '<br>' + beach[5];
var myOptions = {
content:boxText,
disableAutoPan: false,
maxWidth: 0,
pixelOffset: new google.maps.Size(-140, 0),
zIndex: null,
boxStyle: {
width: "200px"
},
closeBoxMargin: "13px 5px 2px 2px",
closeBoxURL: "/img/close.png",
infoBoxClearance: new google.maps.Size(1, 1),
isHidden: false,
pane: "floatPane",
enableEventPropagation: false
};
google.maps.event.addListener(marker, "click", function (e) {
ib.setOptions(myOptions);
ib.open(map, marker);
});
}
$(document).ready(function() {
google.maps.event.addDomListener(window, 'load', initialize);
});
非常感謝,
戴夫
請發佈一個[最小,完整,測試和可讀的示例](http://stackoverflow.com/help/mcve)(我們不知道數據庫中的數據是什麼;或者您的HTML/CSS) – geocodezip 2014-10-09 14:11:30
我已經刪除了PHP並硬編碼了這些變量。對於HTML,只有一個ID = map-canvas的div。非常感謝 – deshg 2014-10-09 14:28:56
我沒有看到任何javascript錯誤([fiddle](http://jsfiddle.net/7mak5unj/)),您是否確認它們發生在您發佈的示例中?不是問題,但google.maps.MarkerImage已被棄用,取而代之的是google.maps.Icon匿名對象。 – geocodezip 2014-10-09 14:49:14