高德地图和百度地图接口封装遇到的问题(一):重复添加实时路况图层后无法移除
生活随笔
收集整理的這篇文章主要介紹了
高德地图和百度地图接口封装遇到的问题(一):重复添加实时路况图层后无法移除
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
拿高德地圖的來說吧,百度地圖類似,代碼大概如下:
<script type="text/javascript">function addTrafficLayer() {var trafficLayer = new AMap.TileLayer.Traffic({zIndex: 10,opacity:1,autoRefresh:true});map.add(trafficLayer);}function removeTrafficLayer() {map.remove(trafficLayer);} </script> <body><div id="allmap"></div><button onclick="addTrafficLayer()">添加路況信息</button><button onclick="removeTrafficLayer()">移除路況信息</button> </body>看起來沒啥毛病,只要點擊一次添加路況信息再接著點擊移除路況信息是沒有毛病的。但是如果連續點擊兩次或多次添加路況信息后,再點擊移除路況會發現移除不掉。
細細一看就會發現其實每次點擊添加路況按鈕都會新創建路況圖層,而最后移除的時候只是把最后一次創建的圖層移除了,所以看起來是不起作用的。解決方法就是在添加圖層前,先判斷是否已經創建過了。
var trafficLayer; function addTrafficLayer() {if(trafficLayer==undefined){trafficLayer = new AMap.TileLayer.Traffic({zIndex: 10,opacity:1,autoRefresh:true});}map.add(trafficLayer);}?
總結
以上是生活随笔為你收集整理的高德地图和百度地图接口封装遇到的问题(一):重复添加实时路况图层后无法移除的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于数据挖掘的旅游推荐APP(五):景点
- 下一篇: 高德地图和百度地图接口封装遇到的问题(二