チェックボックスの状態に応じてマーカーを追加/削除する必要があります。ここに追加/削除機能があります(正しく機能しません):
function getPointOnMap(mapObj) {
var position = new google.maps.LatLng(mapObj.lattitude, mapObj.longtitude);
if(markers.length!=0){
for(var i=0; i<markers.length; i++){
if(markers[i].getPosition().toString() == position.toString()){
marker.setMap(null);
markers.slice(i);
} else {
var marker = new google.maps.Marker({
position: new google.maps.LatLng(mapObj.lattitude, mapObj.longtitude),
map: map });
markers.push(marker);
}
}
} else {
var marker = new google.maps.Marker({
position: new google.maps.LatLng(mapObj.lattitude, mapObj.longtitude),
map: map });
markers.push(marker);
}
}
マーカーのチェックボックスとデータを取得するコードは次のとおりです。
$.ajax({
type : "POST",
url : "/getElements.json",
success : function(result) {
var html = '';
for ( var i = 0; i < result.length; i++) {
(function(n) {
var obj = result[i];
if (obj.field == 0) {
element = $("<input>", {
type : "checkbox",
id : obj.id
});
element.click(function() {
getPointOnMap(obj);
});
$("#orders").append(element,
obj.address + "<br />");
}
})(i)
}
}
});
チェックボックスの状態に応じてマップからマーカーを追加/削除する必要があるため、誰かが論理的な間違いを指摘する可能性があります