【发布时间】:2011-11-15 16:15:47
【问题描述】:
我目前正在对服务器进行 ajax 调用,以获取要在谷歌地图上显示的纬度/经度列表。我还为每个标记附加了一个“点击”事件。诀窍是我需要能够将一些额外的数据存储到标记中,以了解我正在处理的 ID(来自数据库),以便稍后将其匹配回数据库。我正在使用 Title 属性来显示一些友好的信息。 AJAX、标记创建和单击事件工作正常。为标记存储额外数据的正确方法是什么?在此处查看代码:
$.ajax({
url: "/location/NearbyHotspots",
data: {
lat: marker.position.lat(),
lng: marker.position.lng(),
radius: 10
},
datatype: "json",
type: "POST",
success: function (data, status, xhttp) {
for (var i = 0; i < data.length; i++) {
var loc = new google.maps.LatLng(data[i].Lat, data[i].Long);
var newmarker = new google.maps.Marker({
position: loc,
draggable: false,
map: map,
title: data[i].Name
});
// This doesn't seem to work
newmarker.hotspotid = data[i].ID;
google.maps.event.addListener(newmarker, "click", function(mark) {
alert(mark.hotspotid);
});
}
},
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus);
}
});
【问题讨论】:
标签: javascript jquery ajax google-maps