程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 百度地圖API,指定比例尺大小

百度地圖API,指定比例尺大小

編輯:C++入門知識

百度地圖API,指定比例尺大小


百度地圖在自動定位時,出現的比例尺大小是默認的5公裡。但這個范圍太大,不能滿足應用需求,需要在定位時指定比例尺大小。通過摸索和查詢,終於找到了解決方法。

就是要在定位監聽中加入以下代碼,

float f = mBaiduMap.getMaxZoomLevel();//19.0 最小比例尺
// float m = mBaiduMap.getMinZoomLevel();//3.0 最大比例尺
MapStatusUpdate u = MapStatusUpdateFactory.newLatLngZoom(ll, f-2);//設置到100米的大小

整體的代碼:

/**
* 定位SDK監聽函數
*/
protected class MyLocationListenner implements BDLocationListener {


@Override
public void onReceiveLocation(BDLocation location) {
// map view 銷毀後不在處理新接收的位置
if (location == null || mMapView == null)
return;
MyLocationData locData = new MyLocationData.Builder()
.accuracy(location.getRadius())// 此處設置開發者獲取到的方向信息,順時針0-360
.direction(100).latitude(location.getLatitude())
.longitude(location.getLongitude()).build();
mBaiduMap.setMyLocationData(locData);
LatLng ll = new LatLng(location.getLatitude(),
location.getLongitude());
float f = mBaiduMap.getMaxZoomLevel();//19.0
// float m = mBaiduMap.getMinZoomLevel();//3.0
MapStatusUpdate u = MapStatusUpdateFactory.newLatLngZoom(ll, f-2);
mBaiduMap.animateMapStatus(u);
}


public void onReceivePoi(BDLocation poiLocation) {

}
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved