为什么不能删去marker1?

来源:5-4 自由编程

soso_crazy

2019-05-11 15:05:36

<!DOCTYPE html>

<html lang="en">


<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta http-equiv="X-UA-Compatible" content="ie=edge">

<title>Document</title>

<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.11&key=e22196035aaa10db3b0b6eb1ab64619e&plugin=AMap.Autocomplete"></script>


<style type="text/css">

* {

margin: 0;

padding: 0;

list-style: none;

}

#container {

width: 100%;

height: 100%;

position: absolute;

left: 0;

top: 0;

}

.amap-icon img {

width: 25px;

height: 34px;

}

</style>

</head>


<body>

<div id="container"></div>


<script type="text/javascript">

var map = new AMap.Map('container', {

center: [116.379391, 39.861536],

zoom: 11

});


map.setDefaultCursor('-webkit-grabbing');


var marker = new AMap.Marker({

icon: 'https://a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png',

position: [116.379391, 39.861536]

});

marker.setMap(map);


map.on('click', function(e) {

var markerIcon = new AMap.Icon({

size: new AMap.Size(610, 610),

image: './1.png',

imageSize: new AMap.Size(30, 30)

});


var marker1 = new AMap.Marker({

icon: markerIcon,

position: [e.lnglat.lng, e.lnglat.lat],

offset: new AMap.Pixel(-15, -25) //调整点击位置与标记的偏差

});

map.remove([marker, marker1]);

map.add(marker1);

});

</script>

</body>


</html>

为什么只能删去marker而不能删去marker1?

写回答

3回答

好帮手慕夭夭

2019-05-12

你好同学, 这里和marker没有关系。参考老师第一次回复,在你点击按钮的时候,marker1已经重新赋值了,不是原来的值了,如果想要删除marker1,就要在点击事件里面先移出marker1 ,然后在重新赋值新的标记。

但是点击添加新标记的时候marker1是不存在的,会报错。所以要在全局下面也定义一个marker1,这样当你添加新的标记,先把之前的标记清除,然后添加新的标记。这样和老师给出的参考答案是一样的逻辑哦。同学的方式是没有办法实现的。不知道同学哪里理解不了,可以详细说一下哦。

祝学习愉快 ,望采纳。

0

好帮手慕夭夭

2019-05-11

你好同学,按照你的代码逻辑是有问题的,只能说你把全局下面的标记定义成marker1,就像老师给出的建议逻辑是一样的了

http://img.mukewang.com/climg/5cd6aab80001f2ce09810734.jpg

所以按照老师第一次回复给出的建议修改就行。祝学习愉快 ,望采纳。

0
hoso_crazy
h 我的marker1是点击鼠标后生成的自定义标记,我的marker是用官方推荐的图标。我想把marker无需点击就把标记定位在北京的中心点,而marker1是点击后生成的标记,下一次点击如何删除点击后生成的自定义标记marker1?我的marker和maker1是不同的标记
h019-05-11
共1条回复

好帮手慕夭夭

2019-05-11

你好同学,因为当你移出marker1之前,marker1已经重新赋值了一个新的标记点,所以它找不到原来的标记点没办法删除,而新的标记点并没有添加所以也没有移出哦。

http://img.mukewang.com/climg/5cd68a070001baca08820361.jpg

这里不需要设置两个标记点,如下调整即可:

http://img.mukewang.com/climg/5cd68aca0001ac2609850646.jpg

祝学习愉快 ,望采纳。

0
hoso_crazy
h 如果我要删除marker1而不删除marker应该如何修改?
h019-05-11
共1条回复

0 学习 · 6815 问题

查看课程