我有以下代码,我想在这里用以下内容调用初始化函数; google.maps.event.addDomListener(window,'load',initialize);
但是我收到了这个错误;错误:未定义初始化。
这里有什么问题?
$(function CheckinMap() {
$.ajax({
type: "GET",
url: "content/home/index.cs.asp?Process=ViewCheckinMap",
success: function initialize(data) {
var center = new google.maps.LatLng(48.404840395764175, 2.6845264434814453);
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 2,
center: center,
mapTypeId: google.maps.MapTypeId.ROADMAP,
maxZoom: 4
});
var markers = [];
for (var i = 0; i < data.users.length; i++) {
var location = data.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);
},
error: function (data) {
$("#checkinmap").append(data);
}
});
});
google.maps.event.addDomListener(window, 'load', initialize);
答案 0 :(得分:1)
如果你想使用两个 jQuery success
方法和addDomListener
第三个参数的函数,那么你必须在定义它时将它存储在某个地方而不是将其直接传递给success
。
对于您对ajax
和addDomLister
的通话,某处也必须在此范围内。
移动function initialize(data)
,使其显示在当前行1之前。
然后说success: initialize
。
答案 1 :(得分:0)
您在intialize
范围内定义CheckinMap
,然后在代码的最后一行尝试在该范围之外使用它。如果你真的需要在两个地方都有它,那么在外面定义它,然后在success
属性值中引用它。
function initialize(data) {
var center = new google.maps.LatLng(48.404840395764175, 2.6845264434814453);
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 2,
center: center,
mapTypeId: google.maps.MapTypeId.ROADMAP,
maxZoom: 4
});
var markers = [];
for (var i = 0; i < data.users.length; i++) {
var location = data.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);
}
$(function CheckinMap() {
$.ajax({
type: "GET",
url: "content/home/index.cs.asp?Process=ViewCheckinMap",
success: initialize,
error: function (data) {
$("#checkinmap").append(data);
}
});
});
google.maps.event.addDomListener(window, 'load', initialize);