百度地圖API使用系列3-基本地圖1

來源:互聯網
上載者:User

標籤:android   百度地圖   

百度基本地圖使用1

關於百度地圖申請開發人員key 可以參考前面的部落格

百度地圖API使用系列1-準備工作

 

關於搭建工程的可以參考前面的部落格

百度地圖API使用系列2-顯示地圖

 

這一篇部落格介紹基本地圖使用裡面的地圖類型、顯示即時交通圖、在地圖顯示一個Marker。

 

 

這裡要注意的是關於地圖的操作不是有顯示地圖的控制項直接去完成,百度為他添加了一個屬性BaiduMap可以把這個屬性理解為是 地圖的管理器

我們可以通過對應 的 get 方法 擷取這個屬性

 

baiduMap = baiduMapView.getMap();
地圖類型

百度地圖提供 了倆種類型的地圖資源(普通向量地圖和衛星地圖)

BaiduMap.MAP_TYPE_NORMAL          普通向量地圖
BaiduMap.MAP_TYPE_SATELLITE       衛星地圖
 
baiduMap.setMapType(MAP_TYPE);
 
/** * 設定顯示的地圖類型 * * @param currentMapType 地圖類型 */
private void setDisplayMapType(int currentMapType) {    switch (currentMapType) {    case MAP_NORMAL:        // 顯示地圖的類型 分為倆類 1.普通向量地圖 2.衛星地圖        baiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);        break;    case MAP_SATELLITE:        baiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);        break;    default:        baiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);        break;}

 

顯示即時交通路況圖

百度地推目前 已經支援多個城市的交通路況圖了

 

baiduMap.setTrafficEnabled(boolean);
 
/** * 設定顯示實施交通圖 * @param isChecked 是否顯示 true顯示 false不顯示 */private void setDisplayTraffic(boolean isChecked) {    if (isChecked) {        // 顯示 即時交通圖        baiduMap.setTrafficEnabled(true);    } else {        baiduMap.setTrafficEnabled(false);    }}
 
在地圖上面顯示一個Marker
/** * 通過經緯度在地圖上面顯示標註物 * @param longitude 經度 * @param latitude 緯度 */private void setLatlng(double longitude, double latitude) {    // 構建 標註物 的 座標 通過經緯度    // 這個地方需要注意一下 執行個體化 LatLng 類的時候 在傳遞參數的時候 是 緯經度    LatLng point = new LatLng(latitude, longitude);    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);    // 通過 bitmap 構建 標註物的 顯示 表徵圖    BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromBitmap(bitmap);    // 建立一個 覆蓋層    // 設定標註物的 座標 position    // 設定標註物的 表徵圖 icon    // 設定標註物的 標題 title    // 設定標註物是否可拖拽 draggable true可以拖拽 false不可以拖拽 長按起作用 可以監聽拖拽事件    OverlayOptions options = new MarkerOptions().position(point).icon(bitmapDescriptor).title("豪景大廈").draggable(true);    baiduMap.setOnMarkerDragListener(this);    // 將 覆蓋層 添加 帶地圖上面    // 這個方法 有一個 返回值的 Overlay    marker = (Marker) baiduMap.addOverlay(options);    // 顯示預設的 覆蓋物位置    displayMarker("預設", marker);}

 

對於已經添加的標註覆蓋物可以通過 remove() 從地圖上面移除。
 
下面附上整個程式的原始碼點擊開啟連結

百度地圖API使用系列3-基本地圖1

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.