来自jsFiddle的另一个{"error": "Please use POST request"}
正在阻止我在获得用户确认后删除google-maps-api-3标记的企图。 My jsFiddle code is here。您可以通过先点击地图创建一个或多个标记,然后右键单击其中一个标记来查看错误。最后,点击“删除”按钮。代码borrows heavily from this code。在确认infowindow后删除标记
EDIT
3校正。
正如在评论中指出的,我没有更新jsFiddle。更正版本可在/5/找到。主要区别在于Listener内部的'rightclick'代码行被注释掉了,因为它应该一直存在。
注释掉一行代码的修正如下。除非我手动更改jsfiddle代码(例如删除注释掉的行),否则我不再收到错误“{”error“:”请使用POST请求“}”,然后按Control-返回,然后尝试添加和删除标记。所以这不再是一个问题,我相信。相反,新问题是,如果有多个标记,我只点击它们中的一个并请求删除,而不是,所有标记都将被删除。所以我真的需要一些帮助来完成删除标记的目标,一次一个。
下面
编辑
var map
var infowindow;
var markers = [];
function initialize() {
var NY = new google.maps.LatLng(40.739112, -73.785848);
map = new google.maps.Map(
document.getElementById('map-canvas'), {
center: NY,
zoom: 16,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
google.maps.event.addListener(map, 'click', function (event) {
addMarker(event.latLng);
});
}
function addMarker(location) {
var marker = new google.maps.Marker({
position: location,
map: map
});
markers.push(marker);
var delform = marker.getPosition() + '<br />' + '<form onsubmit="processdel(this,marker); return false" action="#">' + ' <input type="submit" id="delid" value="Delete" />' + '<\/form>';
infowindow = new google.maps.InfoWindow({
content: delform,
size: new google.maps.Size(50, 50)
});
google.maps.event.addListener(marker, 'rightclick', function (event) {
infowindow.open(map, marker);
// marker.setMap(null); This is the line that was NOT supposed to be in the code.
});
}
function processdel(form, marker) {
infowindow.close();
marker.setMap(null);
marker = null;
}
initialize();
看起来不像你 “更新” 你的jsfiddle。 [代码](http://jsfiddle.net/PPUVY/)很无聊。这可能是你想要的[更新jsfiddle](http://jsfiddle.net/PPUVY/1/) – geocodezip
谢谢你的提升。我是jsFiddle的新手,不知道更新的要求。另外,正如你在编辑的问题中看到的那样,我得到了新的更新结果。 – zerowords
它不会被删除。您只需使用表单提交即可刷新页面。所以你的地图再次加载没有任何标记。 – MrUpsidown