Vue百度地圖maker標注的添加和刪除方式
更新時間:2024年03月19日 15:13:18 作者:寧采不是臣
這篇文章主要介紹了Vue百度地圖maker標注的添加和刪除方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
vue百度地圖maker標注的添加和刪除
const lng = parseFloat(e.longitude) const lat = parseFloat(e.latitude) const point = new BMap.Point(lng, lat) const marker = new BMap.Marker(point) map.addOverlay(marker) marker.setPosition(point)//添加標注 //刪除標注文檔上注明了是removeOverlay()這個方法,具體使用如下 marker.id = data[0].id//給marker添加id對應數組里的id(非必要不要賦值id,不要這么寫) const allOverlays = map.getOverlays()//返回地圖上所有的覆蓋物 //循環(huán)找到數組里面id和返回覆蓋物相同的 for (let i = 0; i < allOverlays.length; i++) { if (allOverlays[i].id == data[0].id) { //data[0].id即是你要刪除標注的id map.removeOverlay(allOverlays[i]) } }
百度地圖API刪除指定的覆蓋物Marker
部分思路代碼
1.給地圖map添加覆蓋物Marker,注意給marker設定一個唯一表示,我這里用的是后端傳過來的id
const point = new BMap.Point(item.lng, item.lat) const marker = new BMap.Marker(point) marker.id = item.number this.map.addOverlay(marker)
2.根據getOverlays()方法獲取到地圖上所有的覆蓋物,并判斷覆蓋物的id是否和需要刪除的id一致,若一致則通過removeOverlay()刪除指定的覆蓋物
// 移除地圖覆蓋點 removeOverlay(lng, lat) { const allOverlays = this.map.getOverlays() for (let i = 0; i < allOverlays.length; i++) { if (allOverlays[i].id && allOverlays[i].id === this.rowData.id) { this.map.removeOverlay(allOverlays[i]) } } }
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Vue2.0中三種常用傳值方式(父傳子、子傳父、非父子組件傳值)
在Vue的框架開發(fā)的項目過程中,經常會用到組件來管理不同的功能,有一些公共的組件會被提取出來。下面通過本文給大家介紹Vue開發(fā)中常用的三種傳值方式父傳子、子傳父、非父子組件傳值,需要的朋友參考下吧2018-08-08Vue中使用vue2-perfect-scrollbar制作滾動條
這篇文章主要介紹了Vue中使用vue2-perfect-scrollbar滾動條,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06vue中this.$router.push()路由傳值和獲取的兩種常見方法匯總
這篇文章主要介紹了vue中this.$router.push()路由傳值和獲取的兩種常見方法,本文結合示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-12-12