- 27
- 0
1 问题描述: 为什么无法将marker从map上删除
2 删除代码
clearMarkers() {
this.markers.forEach(marker => {
marker.setMap(null);
});
this.markers = [];
}
3 错误信息
Uncaught TypeError: marker.setMap is not a function
4 尝试的方案
已经给出提示了,问题发生在类型错误,既然marker是google.maps.Marker的实例,
那就检查当前的marker到底是不是和预期相符合。
clearMarkers() {
this.markers.forEach(marker => {
if (marker instanceof google.maps.Marker) {
marker.setMap(null);
}
});
this.markers = [];
}
果然不报错了,那就说明marker并不是google.maps.Marker的实例。此时就要去源头看看
marker的实例化过程。
let marker = new google.maps.Marker({
map: self.map,
position: position,
draggable: true,
animation: google.maps.Animation.DROP,
}).addListener("click", function () {
if (self.getAnimation() !== null) {
self.setAnimation(null);
} else {
self.setAnimation(google.maps.Animation.BOUNCE);
}
});
第一眼,我还没有看出来,感觉没有问题。但是潜意识中意识到,可以将这段链式代码拆解。
let marker = new google.maps.Marker({
map: self.map,
position: position,
draggable: true,
animation: google.maps.Animation.DROP,
});
marker.addListener("click", function () {
if (marker.getAnimation() !== null) {
marker.setAnimation(null);
} else {
marker.setAnimation(google.maps.Animation.BOUNCE);
}
});
代码正常运行。因此问题就出现在这里。
new google.maps.Marker({
map: self.map,
position: position,
draggable: true,
animation: google.maps.Animation.DROP,
}).addListener("click", function () {
if (self.getAnimation() !== null) {
self.setAnimation(null);
} else {
self.setAnimation(google.maps.Animation.BOUNCE);
}
});
返回的不是marker,而是一个事件监听器。
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 11 元积分
- 共 0 条
- 全部回答
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
