上一篇推文簡單介紹了與地圖的交互,如移動,縮放,點擊,截圖等功能,都是很常見的業務。接下來就讓我們一起學習在地圖上面打點,標注信息,繪制線和面等功能。
標記點、繪制線、面、增加提示信息
關於在百度地圖上繪制點的功能,其實有很大的作用,比如我們在地圖中查詢飯店,滿足要求的都可以用標記點的形式展示出來,用戶可以一目了然的看到具體位置。同時如果可以在標記的點上添加對應飯店的彈窗信息,那么用戶就更能清晰的看到。
點標記
點標記用來在地圖上標記任何位置,例如用戶位置、車輛位置、店鋪位置等一切帶有位置屬性的事物。
添加點標記
//取得當前的位置
LatLng point=new LatLng(currentLocation.getLatitude(),currentLocation.getLongitude());
//構建Marker圖標
BitmapDescriptor bitmap= BitmapDescriptorFactory.fromResource(R.drawable.flag);
//在地圖上添加Marker並顯示
mBaiduMap.addOverlay(new MarkerOptions().position(point).icon(bitmap));
點擊添加標記后,就可以在當前位置處添加標記信息。

對於Marker,百度官方還是給的自定義權限挺高的,可以對其進行設置圖標、動畫類型、透明度、是否可拖拽、標題等都可進行調整,根據需求進行自定義操作。同時教程說還可對標記點增加點擊和拖拽事件。
繪制線
根據對應的教程寫法,可以實現繪制折線、虛線、分段顏色繪制線、分段紋理繪制線,通過整個功能可以繪制各種各樣的規划路線或物體軌跡。
//構建折線點坐標
LatLng p1 = new LatLng(39.077218, 117.072102);
LatLng p2 = new LatLng(39.007423, 117.110989);
LatLng p3 = new LatLng(39.077218, 117.172345);
List<LatLng> points = new ArrayList<LatLng>();
points.add(p1);
points.add(p2);
points.add(p3);
//設置折線的屬性
OverlayOptions mOverlayOptions = new PolylineOptions()
.width(10)
.color(0xAAFF0000)
.points(points);
//在地圖上繪制折線
Overlay mPolyline = mBaiduMap.addOverlay(mOverlayOptions);

對於線的屬性有多種可供設置的,常用屬性如下:color顏色、width寬度、Points坐標列表、colorsvalues分段顏色值列表、extralnfo額外信息等都是可以進行調整的。
也可以添加線的點擊事件,當某些場合需要點擊繪制的路線時可以使用。
對於繪制這塊還可以繪制弧線,繪制多邊形,繪制圓等可以參考百度地圖教程自己按需進行實現即可。
接下來添加文字和信息窗,其實也就是彈窗信息。
文字覆蓋物
其實就是在地圖的某一個點,來用文字來進行表示
LatLng ll=new LatLng(39.077218,117.072102);
OverlayOptions mTextOptions=new TextOptions().text("阿輝最牛逼")
.bgColor(0xAAFFFF00) //背景色
.fontSize(24) //字號
.fontColor(0xFFFF00FF) //文字顏色
.rotate(-30) //旋轉角度
.position(ll);
Overlay mText=mBaiduMap.addOverlay(mTextOptions);

添加信息框
這塊教程中說了兩種方式可以實現信息框的顯示,一種是使用View構造InfoWindow另一種是使用BitmpDescriptor構造InfoWindow。我們這里簡單實現下第一種即可。
//添加信息框
Button button=new Button(getApplicationContext());
button.setBackgroundResource(R.drawable.flag);
button.setText("你好阿輝");
LatLng p1 = new LatLng(39.007423, 117.110989);
mBaiduMap.showInfoWindow(new InfoWindow(button,p1,-100));

這里我只是臨時找了一個圖片來彈出框的底圖的,先把功能實現了再說。大家在使用的過程中要做一些好看一點的圖,這樣子軟件的整體美觀就提高了。
基本上和地圖的交互就介紹到這里,目前只是簡單的說了說比較常用的,至於一些細節功能還是需要去看看百度的官方文檔,雖然我對那文檔不是很感冒。
對了提醒大家一句,多看DEMO,它比官方文檔教程強太多了。
小寄語
人生短暫,我不想去追求自己看不見的,我只想抓住我能看的見的。
原創不易,給個關注。
我是阿輝,感謝您的閱讀,如果對你有幫助,麻煩點贊、轉發 謝謝。
