点击实现添加标记并清除前一个标记的事件写法

点击实现添加标记并清除前一个标记的事件写法

if(typeof mk2 != "undefined"){
map.remove([mk2]);}
window.mk2=createMK([e.lnglat.lng,e.lnglat.lat]);
adMk(mk2);
});

以上是我的事件写法

其中createMK和adMk是封装的一个创建标记对象函数 一个添加到地图上的函数

在写响应的回调过程中

发现第二个标记mk2 是定义在事件回调函数中的变量 remove会在触发时候将mk2视为undefined

我的想法是将mk2定义在全局中 可是感觉这样不妥

想问问老师 更好的写法应该是怎么样的

用或运算符可以实现吗?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

你好同学,这道题同学想的有一点复杂了。其实实现很简单,不需要进行判断。只要在点击事件中,map.remove()先移出一下标记。然后再创建新的标记即可。参考如下:

http://img1.sycdn.imooc.com//climg/5cbd2f1b0001d19610700310.jpg

祝学习愉快 ,望采纳。

  • WHIPLASH_z 提问者 #1
    这个marker就是定义在全局下的吗?
    2019-04-22 11:08:32
  • WHIPLASH_z 提问者 #2
    。。。知道了 蠢了 老想着新建的标记要用新变量
    2019-04-22 11:11:42
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.WebAPP开发与小程序
  • 参与学习           人
  • 提交作业       622    份
  • 解答问题       6815    个

微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师