工作中遇到的有關echarts地圖和百度地圖的問題
*** 前言:在做項目中需要制作一個場景是左邊是柱狀圖,右邊是地圖,地圖上懸浮一個按鈕可以切換echarts地圖和百度地圖。***
功能:
- 在點擊左邊柱狀圖其中的一條的時候再右邊地圖顯示一些標記的點
- echarts地圖在鼠標懸停的時候回顯示這個點上的公司信息,點擊這個點的時候跳轉到公司詳情(都是自己做的頁面)
- 百度地圖在點擊這個點的時候回彈出一個覆蓋物,上面有公司名稱和簡介,點擊公司名稱的時候跳轉到公司詳情頁
遇到的問題:
- 在點擊不同的柱狀圖的條時,兩個地圖都是在原有的基礎上增加點或者不變,而不是點擊不同的條出現根據條給定的信息進行顯示點(經檢查發現數據是沒問題的,每次點擊傳入的數據都是給定的條數)
- 如何給百度地圖上的懸浮物上的label里的文字添加點擊事件
解決方法:
echarts圖表和百度地圖如何制作請自行百度
- echarts地圖上改變點的位置,我每次都是更改數據之后使用echarts的setOption方法重新生成一下地圖,發現確實是重新生成了,但是是在原來的基礎上合並,並不是完全按照我給定的數據生成的地圖上的坐標點(坐標點請查找API中的markPoint),原來還可以這樣寫setOption(option,notMerge),notMerge是一個布爾值,默認為false,也就是合並每次的option,只要改為true,選擇被合並就OK了。
- 百度地圖上的覆蓋物也同樣是出現,新的點出現,舊的點不走的情況,解決的方法就是在每次重新生成新的覆蓋物之前添加一句map.clearOverlays();清除地圖上的覆蓋物就可以了。
- 給覆蓋物上的文字添加事件我暫時沒找到很好的方法,只有一個笨方法就是在地圖上的點(marker)的點擊事件里面,選擇到那個文本標簽元素添加‘click’事件,需要的一些數據提前通過自定義屬性添加到這個文本標簽上才可以實現這個點擊事件,(我試過的方法有好多,就不一一列舉了,我對百度地圖的API確實不是很熟悉,如果有知道更簡單的方法的小伙伴請教我一下)。
___ 我寫的東西比較少,可能不能很好的描述清楚問題和解決方法,如果有不清楚的小伙伴歡迎留言聯系我,看到后會盡快的回復你,我會盡量的幫助你 ___
