標籤:android style blog class code color
本博文歡迎轉載,轉載請註明來自http://www.cnblogs.com/qinxianyuzou/
如果各位看完這篇文章有任何疑問的歡迎交流,去新浪微博關注我Android小碼農,共同探討Android的應用開發的問題。
很久沒有寫過技術分享貼了,今天我們來講一下百度地圖sdk,順便算是給自己馬克一個。
事實上現在百度地圖sdk已經很多東西都做好了,並不需要做很多工序,不過值得注意的是,現在百度把地圖跟定位分開了,所以做一些定位之類的就需要兩者結合。
百度地圖sdk它本身的demo就是很好的案例,我並不認為自己能寫出比它好多少的東西,所以大家參考demo就可以。
那麼我今天要說什麼呢?我就說說關於覆蓋層跟定位的一些注意事項吧。
其實查看demo,你不難學會對地圖定位的使用,你會輕易的展示出你的地圖,覆蓋層也是如此,不過我最近做app的時候就出現了一個奇葩的問題,那就是,當你用覆蓋層標記一些你自己需要標記的資訊是,定位元影像標卻沒有了。我那個鬱悶啊,足足花了兩天時間去研究為什麼,但愣是沒有研究出個所以然。不過最後不知道為何靈光一閃,定位元影像標跟覆蓋層所繼承的介面好像都是Overlay介面,那麼會不會是相互影響到呢?在百度的demo裡面,你不難發現覆蓋層的調用其中有這麼一句
1 mMapView.getOverlays().clear();
這一句代碼的作用就是清楚已經在地圖上的覆蓋物的,我看了一下,發現定位的那個表徵圖其實也是一個覆蓋物,於是我聯想到定位元影像標之所以消失,就是因為我清掉了覆蓋物。經過測試,當我不再繪製覆蓋物,也就是不調用上面這段代碼的時候,定位元影像標就又出來了。那麼結果就很明顯了,之所以定位元影像標消失了,就是因為上面這句代碼把它給清掉了。那怎麼處理呢?我用了一個比較笨的方法,就是在清掉覆蓋層以後,重新再給地圖的定位元影像層初始化一次,那麼定位元影像標就正常出現了。
mlmv_nearby_lv1.getOverlays().clear();baiduMapMain.setLocationOverlay();mlmv_nearby_lv1.getOverlays().add(itemOverlay);