Google maps 谷歌地图事件监听器

Google maps 谷歌地图事件监听器,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我在事件侦听器中遇到问题。我在“地图”中创建了“单击”事件侦听器,每次用户单击地图时,都会创建一个新的标记。每个标记都有自己的信息框,其中包含删除标记的链接 问题是,当我单击信息框内的“删除”链接时,地图的“单击”事件总是会触发。标记已成功删除,但会创建一个新标记。我怎样才能解决这个问题?我只想拿掉那个记号笔 代码如下: html{高度:100%} 正文{高度:100%;边距:0;填充:0} #地图画布{高度:100%} var映射; var标记=[]; var infowindows=[];

我在事件侦听器中遇到问题。我在“地图”中创建了“单击”事件侦听器,每次用户单击地图时,都会创建一个新的标记。每个标记都有自己的信息框,其中包含删除标记的链接

问题是,当我单击信息框内的“删除”链接时,地图的“单击”事件总是会触发。标记已成功删除,但会创建一个新标记。我怎样才能解决这个问题?我只想拿掉那个记号笔

代码如下:


html{高度:100%}
正文{高度:100%;边距:0;填充:0}
#地图画布{高度:100%}
var映射;
var标记=[];
var infowindows=[];
var marker_cnt=0;
var marker_icons={'mall':'mall.png','train_station':'train.png','park':'park.png','bank':'bank.png'};
var信息窗口;
变量位置=[
[Central',mall',1.289261246850713103.84759068489075,'Central mall'],
[Dhoby Ghaut','train_station',1.298550049775337103.84589552879333,'Dhoby Ghaut',
['Outram站','train_站',1.2812595487889478,103.83896470069885,'Outram站',
[“市政厅”,“银行”,1.2932084559435784,103.85241866111755,“市政厅车站”],
[“小印度站”,“火车站”,1.3071308997488136103.8497149943054,“小印度站”],
['Emily Park','Park',1.3071308997488136103.8497149943054,'Emily Park']
];
变量myOptions={
内容:“正在加载…”
,boxStyle:{
背景:“ccc”
,不透明度:1
,宽度:“280px”
,高度:“100px”
,填充:“10px”
}
,closeBoxMargin:“10px 2px 2px 2px”
,closeBoxURL:“http://www.google.com/intl/en_us/mapfiles/close.gif"
,窗格:“浮动窗格”
,enableEventPropagation:false
};
var infowindow=新信息框(myOptions);
google.maps.event.addListener(信息窗口,'click',函数(){
控制台日志('aaaa');
}); 
函数初始化()
{
var mylatng=new google.maps.LatLng(1.28928269902386103.84409308433533);
变量myOptions={
缩放:16,
中心:myLatlng,
mapTypeId:google.maps.mapTypeId.ROADMAP,
disableDefaultUI:true
}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
google.maps.event.addListener(映射,'click',函数(事件){
placeMarker(event.latLng、event.getPosition);
});
loadMarkers();
}
函数loadMarkers()
{
对于(变量i=0;i”+位置
});
标记器。推(标记器);
google.maps.event.addListener(标记,'click',函数(){
setContent(this.html);
打开(地图,这个);
}); 
google.maps.event.addListener(标记,'dragend',function(){
var html_content='
'+this.position; this.html=html\u内容; setContent(this.html); 打开(地图,这个); }); google.maps.event.addListener(标记,'dragstart',函数(){ 信息窗口。关闭(地图,此); }); } 函数removeMarker(索引) { 标记[index].setMap(空); 关闭(地图,标记[索引]); infowindows[index].close(); 返回false; } html{ 字体:12px Arial,Helvetica,无衬线; 颜色:#333; 填充:0; 保证金:0; } .列表菜单{ 高度:300px; } Listul先生{ 保证金:0.5px 0; 填充:0 0 2px 0; 列表样式类型:无; 宽度:185px; } 李娜先生{ 颜色:#333; 显示:块; 高度:16px; 填充:4px 0 4px 14px; 文字装饰:无; 字体大小:粗体; 背景色:#fff; } .列表菜单李a:悬停{ 背景色:#666; 颜色:#fff; }
将click事件作为参数传递给removeMarker()


谢谢你的回复。我已经解决了这个问题。我通过删除“onclick”并将javascript放到href

来修复它,谢谢!我试过了,但它只在移除标记时起作用。我还需要删除信息框。当我添加infobox.close()时,同样的问题也会出现。
javascript:
URL通常是个坏主意。
    marker = new google.maps.Marker({
        map:map,
        draggable:true,
        animation: google.maps.Animation.DROP,
        position: location,
        html: '<a href="#" onclick="removeMarker('+ (markers.length) +',event)">\
                delete marker</a> <br/> '+ location
     });
function removeMarker(index,event)
{   
    try{event.cancelBubble=true;}//IE
    catch(e){event.stopPropagation();}//others

    markers[index].setMap(null);
    infowindow.close(map, markers[index]);
    return false;
}