我一直试图让这项工作成为现在,我的最后一次尝试。
我很抱歉以类似的目标发布不同的问题。
我只是想以最好的方式解决这个问题。
这是事情;我在另一个页面中有一些数据要在初始化函数中使用。
这里的一位成员建议我使用deferred.done。
部分有效。我的其他页面中的数据已加载,如果我在初始化函数中有警报(MapData); ,我可以显示它。
但是当我尝试在初始化函数中使用该数据进行实际工作时,我得到 MapData.users未定义错误。
我没有得到它,因为当我装入警报框时看起来很好。
请建议!
$(function CheckinMap() {
$.when($.ajax({
type: "GET",
url: "content/home/index.cs.asp?Process=ViewCheckinMap"
})).done( function initialize(data) {
var MapData = data;
var center = new google.maps.LatLng(48.404840395764175, 2.6845264434814453);
var map = new google.maps.Map(document.getElementById('checkinmap'), {
zoom: 2,
center: center,
mapTypeId: google.maps.MapTypeId.ROADMAP,
maxZoom: 4
});
var markers = [];
for (var i = 0; i < MapData.users.length; i++) {
var location = MapData.users[i];
var latLng = new google.maps.LatLng(location.latitude,
location.longitude);
var marker = new google.maps.Marker({
position: latLng
});
markers.push(marker);
}
var markerCluster = new MarkerClusterer(map, markers);
});
});
这是我需要在初始化函数中使用的数据。
{
"users": [
{
"latitude": "48.405163",
"longitude": "2.684659"
},
{
"latitude": "43.7347242529278",
"longitude": "7.42198348045349"
}
]
};
答案 0 :(得分:0)
您尚未在dataType: 'json'
电话中指定$.ajax()
;这可能导致您的data
成为原始文本JSON响应,而不是解码对象。