Android 高德地圖常見設置記錄

最近開發用到高的地圖,將自己編碼常用的參數設置記錄一下。

aMap.moveCamera(CameraUpdateFactory.zoomTo(16));//縮放級別

myLocationStyle = new MyLocationStyle();//初始化定位藍點樣式類

/*
myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_FOLLOW) ;//連續定位、且將視角移動到地圖中心點,定位藍點跟隨設備移動。(1秒1次定位) myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_MAP_ROTATE);//連續定位、且將視角移動到地圖中心點,地圖依照設備方向旋轉,定位點會跟隨設備移動。(1秒1次定位) myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE);//連續定位、且將視角移動到地圖中心點,定位點依照設備方向旋轉,並且會跟隨設備移動。(1秒1次定位)默認執行此種模式。 //以下三種模式從5.1.0版本開始提供 myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE_NO_CENTER);//連續定位、藍點不會移動到地圖中心點,定位點依照設備方向旋轉,並且藍點會跟隨設備移動。 myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_FOLLOW_NO_CENTER);//連續定位、藍點不會移動到地圖中心點,並且藍點會跟隨設備移動。 myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_MAP_ROTATE_NO_CENTER);//連續定位、藍點不會移動到地圖中心點,地圖依照設備方向旋轉,並且藍點會跟隨設備移動。*/
myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE);//連續定位、且將視角移動到地圖中心點,定位點依照設備方向旋轉,並且會跟隨設備移動。(1秒1次定位)如果不設置myLocationType,默認也會執行此種模式。
myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATE);//只定位一次,移動定位到地圖正中心

myLocationStyle.interval(5000); //設置連續定位模式下的定位間隔,只在連續定位模式下生效,單次定位模式下不會生效。單位爲毫秒。
aMap.setMyLocationStyle(myLocationStyle);//設置定位藍點的Style
myLocationStyle.anchor(0.0f, 1.0f);//設置定位藍點圖標的錨點方法。
aMap.getUiSettings().setMyLocationButtonEnabled(true);//設置默認定位按鈕是否顯示,非必需設置。
aMap.setMyLocationStyle(myLocationStyle);//設置定位藍點的Style
aMap.setMyLocationEnabled(true);// 設置爲true表示啓動顯示定位藍點,false表示隱藏定位藍點並不進行定位,默認是false。
aMap.setOnMapClickListener(this);// 對amap添加單擊地圖事件監聽器
aMap.setOnMarkerClickListener(this);
aMap.setOnMyLocationChangeListener(this);//定位監聽,因爲每個0.5S定位一次,此方法會不斷接收定位信息
mUiSettings = aMap.getUiSettings();//實例化UiSettings類對象
mUiSettings.setScaleControlsEnabled(true);//顯示比例尺
mUiSettings.setCompassEnabled(true);//顯示指南針
mUiSettings.setLogoBottomMargin(-50);//隱藏logo
mUiSettings.setZoomControlsEnabled(false);
mUiSettings.setMyLocationButtonEnabled(false);

//------------------------我是分割線-------------------我是分割線------------------------------------我是分割線------------------------------

//接口實現

/**
 * 點擊地圖監聽回調
 *
 * @param latLng
 */
@Override
public void onMapClick(LatLng latLng) {}
/**
 * marker點擊監聽
 *
 * @param marker
 * @return
 */
@Override
public boolean onMarkerClick(final Marker marker) {}
/**
 * 定位監聽
 *
 * @param location
 */
@Override
public void onMyLocationChange(Location location) {}
/**
 * 地理編碼轉地址
 *
 * @param regeocodeResult
 * @param i
 */
@Override
public void onRegeocodeSearched(RegeocodeResult regeocodeResult, int i) {}

@Override
public void onGeocodeSearched(GeocodeResult geocodeResult, int i) {}
/**
 * 開始搜索路徑規劃方案
 */
public void searchRouteResult(int routeType, int mode) {
    if (mStartPoint == null) {
        //ToastUtil.show(mContext, "起點未設置");
        return;
    }
    if (mEndPoint == null) {
        //ToastUtil.show(mContext, "終點未設置");
    }
    //showProgressDialog();
    final RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(
            mStartPoint, mEndPoint);
    if (routeType == ROUTE_TYPE_DRIVE) {// 駕車路徑規劃
        RouteSearch.DriveRouteQuery query = new RouteSearch.DriveRouteQuery(fromAndTo, mode, null,
                null, "");// 第一個參數表示路徑規劃的起點和終點,第二個參數表示駕車模式,第三個參數表示途經點,第四個參數表示避讓區域,第五個參數表示避讓道路
        mRouteSearch.calculateDriveRouteAsyn(query);// 異步路徑規劃駕車模式查詢
        aMap.setOnPolylineClickListener(this);

    }
}
/**
 * 駕車路線規劃
 *
 * @param driveRouteResult
 * @param i
 */
@Override
public void onDriveRouteSearched(DriveRouteResult driveRouteResult, int i) {}
/**
 * 點擊監聽路線規劃的線
 *
 * @param polyline
 */
@Override
public void onPolylineClick(final Polyline polyline) {}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章