google map api V3 如何对marker进行操作。

初始化时就已经加入了一个marker:varmarker=newgoogle.maps.Marker({position:latlng,map:map,draggable... 初始化时就已经加入了一个marker:
var marker = new google.maps.Marker({
position: latlng,
map: map,
draggable: true
});
然后我又定义了一个marker_viewport ,单击地图时创立一个其他图标的marker。
google.maps.event.addListener(map, 'click', function(event) {
var marker_viewport = new google.maps.Marker({
position: event.latLng,
map: map,
draggable: true,
icon: icon_viewport
});
});

此时单击地图能够创建标记,我想在右键单击这种标记时能够删除当前标记(不仅是在overlay上,内存里也要删除)。
google.maps.event.addListener(marker_viewport, 'rightclick', function(event) {
????????
});

这里该怎么写?我知道可以通过marker.setMap(null)(这是不是该写成marker_viewport.setMap(null))清空标记,但是不知道该如何删除当前event所在的标记?看了看api貌似需要把marker_visible push到一个数组中,然后该怎么操作?不知道如何获取当前标记在数组中的位置。

另外我用for循环把推入到数组中的marker全部删除,只有在监听器为marker时有效,也就是右键单击地图初始化时就加入的标记才有效,而换成marker_viewport就无效了?

设置断点看了半天也没搞清怎么回事。

本人实在是非专业,只是业余做点东西玩,按回答的质量再加分,本人7000多财富请放心...
展开
 我来答
jtandygod
2011-08-01
知道答主
回答量:8
采纳率:0%
帮助的人:0
展开全部
如果你这么写只能对最后一个Marker注册监听事件,应该下边这么写,放在你循环生成Marker中
(function(i,marker_viewport){
gEvent.addListener(marker_viewport, "rightclick", function(mouseEvent) {
marker_viewport.setMap(null);
//还可以在你的marker全局数组中删除他,使用javascript中Array的splice方法,或者使用google的MVCArray,
})
})(i,marker_viewport);
可能跟你的需求不太一样,具体自己灵活使用,推荐看看Apress.Beginning.Google.Maps.API.3.Jul.2010(没有中文版)
钢蛋Gondar
2011-07-30 · TA获得超过286个赞
知道小有建树答主
回答量:360
采纳率:100%
帮助的人:315万
展开全部
最近在做GoogleMap Js的API,项目是做完了,也同样发现了js控制这个Marker和OverlayView内存溢出问题很严重,Google和BaiDu后都说JS无法实现内存回收机制。后来我看来很多资料后,勉强提升了下性能,这里给LZ分享下,希望可以有用。
一、我在每个onRemove里会写上把所有这个层的变量置空即=null的操作,之后调用CollectGarbage()这个函数 释放内存 不过这个效果不是很明显,究其根本原因网上说法也很多。我总结了下大概是这么个原因,JS对变量的使用存在着问题,我们var了一个之后在内存中这个变量就一直存在,因此无法回收,尤其是Obecjt这样的对象,要把所有Obeject对象的属性和方法置null才可以真正有效的回收,因此建立LZ写JS时及时对变量置null才是关键所在。
二、我换了机器的系统,发现内存稳定很多,原先是03现在换成windows7了
要是有什么发现LZ要baidu hi里告诉我啊,互相学习
-----------------好像偏题了 -----------------------
Marker应该写成公共的变量吧,你在addListener里定义的变量,外面应该是调用不到了,这样你这么使用setMap()呢,是吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刘仁聪1
2011-07-23
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
skdjfsifisdffhsjhfgshgsdh jshfsddhfgsdfjsdgd
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
机灵且傲然的丁香7195
2011-07-23 · 贡献了超过203个回答
知道答主
回答量:203
采纳率:0%
帮助的人:44.8万
展开全部
把教材多看一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式