【发布时间】:2015-06-17 06:47:08
【问题描述】:
我正在尝试将谷歌地图添加到我的网页,该网页的 div 具有指定宽度的雷达 id。我使用 jquery ajax 方法从第二页获取坐标,并使用 Marker 在地图上绘制它们。但只显示最后一个标记,不显示其他标记。
var global = new Array();
$(document).ready(function () {
console.log("ready!");
if ($("#StartingDate").val() != "") {
var start = $("#StartingDate").val();
var end = $("#EndingDate").val();
var id = $("#UserId").val();
$.ajax({
url: "GetData.aspx?StartingDate=" + start + "&EndingDate=" + end + "&UserId=" + id, async: false, success: function (result) {
var resp = result.split(",");
for (x = 0; x < resp.length - 1; x++) {
var cor = resp[x].split(";");
var lat = cor[0];
var lon = cor[1];
var date = cor[2]
var temp = [lat, lon, date];
global.push(temp);
}
}
});
}
});
$(document).ajaxComplete(function () {
var myLatlng = new google.maps.LatLng(-25.363882, 131.044922);
var mapOptions = {
zoom: 4,
center: myLatlng
}
var map = new google.maps.Map(document.getElementById("radar"), mapOptions);
for (var i = 0; i < global.length; i++) {
console.log(global[i]);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(parseFloat(global[i][0]),parseFloat(global[i][1])),
title: global[i][2]
});
marker.setMap(map);
}
});
ajax 调用成功后,我的名为 global 的变量填充如下:
global = [
[
0: "33.622835",
1: "73.062932",
2: "16/06/2015 1:17:24 AM"
],....
];
【问题讨论】:
-
console.log(global[i]);在你的 for 循环中返回什么?另一件事:为什么要在 ajaxComplete 上创建地图?您之前是否尝试过创建地图(例如在准备好的文档中)?
标签: javascript jquery google-maps google-maps-api-3