问老师一个问题

来源:5-1 添加标记-多点标记

学习plus

2020-10-19 16:14:25

# 具体遇到的问题
为什么不能只创建一个对象,然后通过修改它的Position属性,再重绘,达到单标记的目的。
# 报错信息的截图
每次都默认position为中心点坐标了
# 相关课程内容截图
http://img.mukewang.com/climg/5f8d4a7209a3ea4c10180328.jpg# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

在这里输入代码,可通过选择【代码语言】突出显示

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Document</title>

<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=b8be011c2c2cb53ab3503877757970fc"></script> 

<style type="text/css">

* {margin: 0; padding: 0; list-style: none;}

#container {width:100%; height: 100%; position: absolute; top: 0; right: 0; bottom: 0; left: 0;}  

#setCenterNode,#setZoomNode{

width: 280px;

position: absolute;

z-index: 99;

right: 20px;

top: 50px;

border: 1px solid black;

box-shadow: 0 0 5px black;

background: white;

}

#setCenterNode{

top: 50px;

}

#node li {cursor: pointer;}

#searchNode {width: 280px; height: 30px; background: white; position: absolute; top: 20px; right: 20px;}

</style>

</head>

<body>

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

<script type="text/javascript">

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

zoom:10,

center:[120,30]

});



var marker = new AMap.Marker({

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

offset:new AMap.Pixel(-25,-60)

});


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

position:[e.lnglat.R,e.lnglat.Q],

marker.setMap(map)

});

</script>

</body>

</html>


写回答

1回答

好帮手慕星星

2020-10-19

同学你好,是可以只创建一个对象,然后通过修改position属性值,再重绘达到单标记的目的。但是position属性是

AMap.Marker()参数中的,点击事件的回调函数中不能直接设置。

需要通过标记对象中的setPosition()方法更新位置信息,参考:

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

祝学习愉快!

0

0 学习 · 6815 问题

查看课程