javascript - map API v3 - Chrome 和 Opera 不显示标记

标签 javascript jquery google-maps-api-3

标记在 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 success 函数中调用 buildMap,并在窗口加载时调用 AJAX 请求包装函数。

关于javascript - map API v3 - Chrome 和 Opera 不显示标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11341524/

相关文章:

javascript - 响应式数据网格

javascript - HTML/Jquery : div not detecting hover even when z-index set to highest?

javascript - 检查游戏网格中的垂直匹配时出现类型错误

php - 从 HTML 中提取文本并将其传递给 PHP 脚本中的 MySQL 查询

javascript - 如何在 D3 Sankey 图中突出显示整个路径?

google-maps - Google map api v3 : SearchBox. 模拟按下 Enter 按钮

javascript - Jquery 循环和 Ajax 字幕

javascript - 应该如何对两个 Ajax 调用的结果进行计算?

mysql - 在我的 Google map api v3 上获取 "Unexpected Token < "

javascript - 有什么办法可以等到 DirectionsService 返回结果吗?