Tôi chỉ biết một cách:Làm cách nào để xóa điểm đánh dấu trên Google Maps?
Nhấp chuột phải và nhấp vào 'xóa tôi'
Còn cách nào khác tôi có thể xóa dấu trên Google Maps?
Đây là mã của tôi bây giờ:
GEvent.addListener(marker, 'mousedown', function(e) {
alert(e)
if (e.button == 2){
alert('sss')
map.removeOverlay(marker);
}
Khi tôi bấm chuột phải, nó cảnh báo (40.23141543543321,114.3214121421)
; khi tôi nhìn vào API, tôi thấy điều này:
mousedown(latlng:GLatLng)
vì vậy tôi nghĩ rằng e
không phải là một sự kiện, nhưng một 'GLatLng'
Nếu tôi sử dụng 'singlerightclick', không có gì xảy ra khi tôi đúng -nhấp chuột.
Đây là mã đầy đủ của tôi:
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width,minimum-scale=0.3,maximum-scale=5.0,user-scalable=yes">
</head>
<body onload="initialize()" onunload="GUnload()">
<style type="text/css">
*{
margin:0;
padding:0;
}
#head{
height:70px;
background:#a00;
}
#logo{
color:white;
font-weight:bold;
line-height:70px;
margin-left:100px;
}
#main{
position:relative;
margin-top:1px;
}
#left{
border:1px solid red;
height:700px;
margin-right:202px;
}
#top{
font-weight:bold;
line-height:70px;
margin-left:120px;
}
#map_canvas{
height:630px;
}
#right{
background:#ff0;
float:right;
height:702px;
position:absolute;
right:0;
top:0;
width:200px;
}
.container{
border:5px solid red;
height:50px;
margin-left:50px;
padding:17px 0 0 20px;
width:85%;
}
.b{
background:url(img/xr.png) right no-repeat;
}
.b > div{
width:30px;
height:31px;
background:url(img/xpinIcon.png) 0 0 no-repeat;
}
.c{
background:url(img/xr.png) right no-repeat;
margin-left:60px;
}
.c > div{
width:30px;
height:31px;
background:url(img/xlineIcon.png) 0 0 no-repeat;
}
</style>
<!--<div style="width:100px;height:100px;background:blue;"> </div>-->
<div id=head>
<div id=logo>logo</div>
</div>
<div id=main>
<div id=left>
<div id=top>search
<input type="text" name="" id="" style="width:80%"/>
</div>
<div id="map_canvas" ></div>
</div>
<div id=right ></div>
</div>
<script src="jquery-1.4.2.js" type="text/javascript"></script>
<script src="jquery-ui-1.8rc3.custom.min.js" type="text/javascript"></script>
<script type="text/javascript" src="nicEdit.js"></script>
<script src="http://ditu.google.cn/maps?file=api&v=2&sensor=false&key=ABQIAAAA-7cuV3vqp7w6zUNiN_F4uBRi_j0U6kJrkFvY4-OX2XYmEAa76BSNz0ifabgugotzJgrxyodPDmheRA" type="text/javascript"></script>
<script type="text/javascript">
var aFn;
//**********
function initialize() {
if (GBrowserIsCompatible()) {
//************
function a() {
}
//if(GControl)
a.prototype = new GControl();
a.prototype.initialize = function(map) {
var container = document.createElement("div");
var a='';
for(i=0;i<2;i++){
a+='<div class=b style="position:absolute;"><div></div></div>'
}
for(i=0;i<2;i++){
a+='<div class=c style="position:absolute;"><div></div></div>'
}
$(container).addClass('container');
$(map.getContainer()).append($(container).append(a));
return container;
}
a.prototype.getDefaultPosition = function() {
return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(7, 7));
}
//************
var map = new GMap2(document.getElementById("map_canvas"));
map.addControl(new a());
map.enableScrollWheelZoom();
var center=new GLatLng(39.9493, 116.3975);
map.setCenter(center, 13);
aFn=function(x,y){
var point =new GPoint(x,y)
point = map.fromContainerPixelToLatLng(point);
var marker = new GMarker(point,{draggable:true});
var a=$(
'<form method="post" action="" style="height:100px;overflow:hidden;width:230px;">'+
'<textarea id="area1" cols="22" rows="5" style="border:none">cilck edit</textarea>'+
'</form>')
var once;
a.click(function(){
if(!once)var area1=new nicEditor({buttonList : ['bold','fontSize','left','center','right','forecolor']}).panelInstance('area1')
once=1;
})
GEvent.addListener(marker, "click", function(){
marker.openInfoWindowHtml(a[0]);
});
map.addOverlay(marker);
GEvent.addListener(marker, 'singlerightclick', function(point, source, overlay) {
alert('sss')
map.removeOverlay(marker);
});
}
$(".b").draggable({
revert: true,
revertDuration: 0
});
$('.container').droppable({greedy: true});
$("#map_canvas").droppable({
drop: function(event,ui) {
aFn(event.pageX-$("#map_canvas").offset().left,event.pageY-$("#map_canvas").offset().top);
//}
}
});
}
}
//*************
</script>
</body>
</html>
tôi nghĩ rằng tôi figured it out với điều này:
GEvent.addListener(map, 'singlerightclick', function(point, source, overlay) {
map.removeOverlay(marker);
});
nhưng không có, điều này loại bỏ các điểm đánh dấu cho dù nơi tôi bấm vào bản đồ .
Tôi nghĩ rằng tôi có nó bây giờ:
GEvent.addListener(map, 'singlerightclick', function(pixel,tile, marker) {
if(marker)
map.removeOverlay(marker);
});
cập nhật câu trả lời của tôi. –
@ zjm1126 vui lòng cập nhật "câu trả lời" – Korayem