最近开发用到高的地图,将自己编码常用的参数设置记录一下。
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) {}