我目前正在向服务器发出ajax调用,以获取要在谷歌地图上显示的经纬度列表。同时,我也为每个标记附加了一个“点击”事件。关键是我需要能够将一些额外的数据存储到标记中,以便稍后将其与数据库匹配。我使用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);
}
});