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样式改变,后面会继续跟进。

实习编辑:衡辉