标记在 Firefox 中正确显示,而不是在 Chrome 或 Opera 中。我想我有一些范围问题,因为db_locations
数组"有时"会失去它的价值并且到达buildMap()
空。我说"有时"是因为当我在第一页BuildMap()
中添加alert(db_locations)
时,刷新"倾向于"显示实际值。
感谢任何帮助。
var db_locations = new Array();
$.ajax({
type: "GET",
url: "markers_xml.php",
dataType: "xml",
success: function(xml) {
...
var inside = new Array(val1,val2,val3 etc);
db_locations[i]=inside;
...
});
function buildMap() { /* this is the init function */
...
setMarkers(map, db_locations);
...
}
function setMarkers(map, locations) {
// markers loop
}
window.onload = buildMap;
很可能 AJAX 请求没有按时返回。将 AJAX 调用包装在函数中,在 Ajax 成功函数中调用 buildMap,并在窗口加载时调用 AJAX 请求包装函数。