Google지도에 표시 할 위도/경도 목록을 얻기 위해 현재 서버에 아약스 전화를 걸고 있습니다. 각 마커에 '클릭'이벤트도 첨부했습니다. 트릭은 마커에 약간의 여분의 데이터를 저장할 필요가있어서 데이터베이스에서 어떤 ID를 사용했는지 알기에 나중에 데이터베이스에 다시 매치합니다. Title 속성을 사용하여 친숙한 정보를 표시하고 있습니다. AJAX, 마커 생성 및 클릭 이벤트는 정상적으로 작동합니다. 마커에 대한 추가 데이터를 저장하는 올바른 방법은 무엇입니까? 여기에 코드를 참조하십시오 :Google지도 표시 자 데이터
$.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);
}
});
BTW-이 시나리오에서는 사용자 정의 데이터 마커 객체를 확장 할 필요가 더 이상 거기, 당신은 데이터와 attachClickEvent 기능에 두 번째 PARAM을 통과 할 수 없다 [I] .ID –
이 허용되어야한다 대답. OP 자신의 대답이 제시하는대로 처리기에서 사용되지 않는 매개 변수를 남기지 않는 작업을 수행하는 깨끗한 방법을 제공합니다. – tfrascaroli