1.首先,给map地图添加marker标记,我的getMapSites()方法就是封装的添加标记,具体就不放出来了
2.然后看一下地图上的标记效果,还不错
3.点击标记,添加涟漪效果,注意这里有坑
这是呼吸圆点的初始图层,一定要加,并且Loca.GeoJSONSource和ScatterLayer都要有,不然报错,为了防止平白无故多加一个点,影响实际效果,我们可以把features这个数组赋值为空数组,并把样式去除
4.初始化完成后封装一个,标记点击方法,这里没什么坑
5.然后看下点击效果
非常完美|
6.那么是不是忘记了什么呢?对了就是去除地图上呼吸点的方法,类似重置地图初始状态的效果
那么重置的原理又是什么呢?其实跟地图初始化的代码一样,我们要改的始终都是new Loca.GeoJSONSource中的数据,但不能改变 new Loca.ScatterLayer,这是呼吸点的图层,一旦改变,就会添加多个图层导致每次点击标点,都会创建新的呼吸点
最后:我们只需要再次把new Loca.GeoJSONSource中的features数组重置为[]空数组,并重新调用setSource,即可重置成功