1 问题描述
当我们往地图上添加marker时第一反应都是根据经度和维度来添加,却没有想到可以通过点击地图相应的位置添加marker,所以到底如何实现点击添加marker呢?
2 算法描述
首先引用script标签,type属性指明是JavaScript,并且设置地图中心点坐标的经度纬度,初始化地图设置相关的缩放级别,缩放级别大小自己可以尝试输入一些不同的值,看看自己所需要的值。
var center = new TMap.LatLng(30.576777,104.275435); | var map = new TMap.Map("container", { | zoom: 16, //设置地图缩放级别 | center: center //设置地图中心点坐标 | }); |
其次初始化地图,这些代码都是Javascript里面的,所以var是创建变量,为TMap.MultiMarker创建名为markerLayer,然后添加id和map。
var markerLayer = new TMap.MultiMarker({ | id: 'marker-layer', | map: map | }); |
最后监听点击事件实现点击添加marker,就会引用上面创建的变量名,最后就可以实现点击地图的某一个点而添加一个marker。
map.on("click", (evt) => { | markerLayer.add({ | position: evt.latLng | }); | }); |
最后就可以顺利完成点击地图添加marker。
3 结语
在实现点击地图添加marker时需要注意代码的完整性,少了一行可能就会导致结果出错。目前未能解决的是对点击添加的marker样式改变,后面会继续跟进。