天天看點

android百度地圖自定義覆寫物,三、android百度地圖覆寫物(android百度地圖SDK系列)...

在第二篇文章的時候我曾經說過,還會有一篇添加覆寫物的講解,這一篇就是專門寫覆寫物的。百度地圖SDK的覆寫物乍一看沒有頭緒,但是看明白文檔了還是很簡單的,下面就來看看怎麼來實作覆寫物的功能。

一、标注覆寫物

經常我們在很多APP裡都可以看見地圖上标注了很多特定的點,這些點就是标注覆寫物了。它的用法很簡單,細心的朋友在第二篇應該會發現在添加中心點的時候有一個叫Maker的東西,沒錯就是它了。話不多說我們之間看代碼:

private void setMarker() {

//定義Maker坐标點

LatLng point = new LatLng(29.275412, 106.279981);

LatLng point1 = new LatLng(29.275422, 106.279991);

LatLng point2 = new LatLng(29.273311, 106.278621);

LatLng point3 = new LatLng(29.278813, 106.285511);

//建構Marker圖示

BitmapDescriptor bitmap = BitmapDescriptorFactory

.fromResource(R.mipmap.location_marker);

//建構MarkerOption,用于在地圖上添加Marker

OverlayOptions option = new MarkerOptions()

.position(point)

.icon(bitmap);

OverlayOptions option1 = new MarkerOptions()

.position(point1)

.icon(bitmap);

OverlayOptions option2 = new MarkerOptions()

.position(point2)

.icon(bitmap);

OverlayOptions option3 = new MarkerOptions()

.position(point3)

.icon(bitmap);

//在地圖上添加Marker,并顯示

baiduMap.addOverlay(option);

baiduMap.addOverlay(option1);

baiduMap.addOverlay(option2);

baiduMap.addOverlay(option3);

}

以上代碼就是标注了四個覆寫物,注釋很詳細,相信都可以輕松的看懂。不過光有代碼還是不夠直覺我們再看看運作效果吧:

android百度地圖自定義覆寫物,三、android百度地圖覆寫物(android百度地圖SDK系列)...

标注效果圖

二、幾何圖形覆寫物

有時候我們會需要在地圖上畫出所需要的覆寫範圍,這就需要用到幾何圖形覆寫物了。在百度地圖API裡可以看到它做了一個5個點的多邊形覆寫物,然而一般都是用圓形比較多,而且API裡也寫了可以支援點(Dot)、折線(Polyline)、弧線(Arc)、圓(Circle)、多邊形(Polygon),這裡我就用圓做個例子,還是老套路,先上代碼:

public void drawCircle() {

//設定圓心的左邊

LatLng pt1 = new LatLng(29.276107, 106.281771);

OverlayOptions overlayOptions = new CircleOptions()

.center(pt1)

//設定圓的顔色

.fillColor(Color.parseColor("#201c3d6f"))

//設定邊緣線的顔色

.stroke(new Stroke(0,Color.parseColor("#ffffff")))

//設定半徑

.radius(300);

baiduMap.addOverlay(overlayOptions);

}

代碼就是這樣了,同樣很簡單,注釋也同樣很詳細。需要強調的是在設定顔色的時候如果是寫在color配置檔案裡,有時候會沒有效果,而用Color.parseColor則沒有問題。好了我們看看運作效果吧

android百度地圖自定義覆寫物,三、android百度地圖覆寫物(android百度地圖SDK系列)...

圓形覆寫物

到這裡,android百度地圖SDK系列就要告一段落了,這主要是項目中遇見的順便做個總結以防後人踩坑,也防自己以後踩坑,如果後面在地圖上會有新的需求那麼也會加上來的。最後強調一點,一定要開啟定位圖層,不然覆寫物無效。