最近開發用到高的地圖,將自己編碼常用的參數設置記錄一下。
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) {}