1. 程式人生 > >Android app接入百度地圖:禁用手勢、模式切換、根據經緯度獲取位置資訊

Android app接入百度地圖:禁用手勢、模式切換、根據經緯度獲取位置資訊

嗯,沒錯,接入百度地圖後一般可能要用到的一些功能...

1.開啟交通圖

mBaiduMap.setTrafficEnabled(true);

2.模式切換
//衛星地圖
mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
//普通地圖
mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);

3.禁用手勢
UiSettings settings=mBaiduMap.getUiSettings();
settings.setAllGesturesEnabled(false);   //關閉一切手勢操作
settings.setOverlookingGesturesEnabled(false);//遮蔽雙指下拉時變成3D地圖
settings.setRotationGesturesEnabled(false);//遮蔽旋轉
settings.setZoomGesturesEnabled(false);//獲取是否允許縮放手勢返回:是否允許縮放手勢

4.根據經緯度獲取地理位置
//根據經緯度,獲取到具體的地理位置
double lat =  Double.valueOf(緯度);
double lon =  Double.valueOf(經度);
LatLng ll_oc = new LatLng(lat, lon);
GeoCoder coder = GeoCoder.newInstance();
coder.reverseGeoCode(new ReverseGeoCodeOption().location(ll_oc));
coder.setOnGetGeoCodeResultListener(new OnGetGeoCoderResultListener() {
    @Override
    public void onGetGeoCodeResult(GeoCodeResult geoCodeResult) {
    }
    @Override
    public void onGetReverseGeoCodeResult(ReverseGeoCodeResult reverseGeoCodeResult) {
         ReverseGeoCodeResult.AddressComponent addressDetail = reverseGeoCodeResult.getAddressDetail();
         //countryName:國家、province:省、city:市、district:區、street:街、streetNumber:街號
         location = addressDetail.province + addressDetail.city + addressDetail.district
                        + addressDetail.street + addressDetail.streetNumber;
         tvLocation.setText(location);
      }
 });