最近使用了一下高德地图,使用期间将出现的问题记录一下。文中出现不对的地方,悉听各路大神指正。2018年11月23日15:59:46
1.首先我们初始化map控制对象aMap 。
if (aMap ==null) {
aMap =mMapView.getMap();
}
2.设置setMyLocationButtonEnabled为false(true:显示地图默认右上方圆形定位图标 false:不显示)
aMap.getUiSettings().setMyLocationButtonEnabled(false);
3.实现位置变化监听器setOnMyLocationChangeListener
aMap.setOnMyLocationChangeListener(new AMap.OnMyLocationChangeListener() {
@Override
public void onMyLocationChange(Location location) {
double latitude = location.getLatitude();
double longitude = location.getLongitude();
latLng =new LatLng(latitude,longitude);
if(followMove){
aMap.animateCamera(CameraUpdateFactory.newLatLng(latLng));
}
}
});
4.实现setOnMapTouchListener监听
aMap.setOnMapTouchListener(new AMap.OnMapTouchListener() {
@Override
public void onTouch(MotionEvent motionEvent) {
//用户拖动地图后,不再跟随移动,直到用户点击定位按钮
followMove =false;
}
});
5.activity的xml中新增一个imageview,放到你喜欢的地方。用你喜欢的icon,(使用FrameLayout来实现覆盖)
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@mipmap/ic_location"
android:onClick="doclick"
android:padding="5dp"
android:layout_marginLeft="50dp"
android:layout_marginTop="100dp"/>
6.在imageview点击事件中使用moveCamera更新位置,完成定位
public void doclick(View view) {
aMap.moveCamera(CameraUpdateFactory.changeLatLng(latLng));
}
7.有不明白的地方可以参考高德地图官方文档
网友评论