每次打开地图,默认都是在北京。
这点在高德文档中有写到,并且给了相应的改变方式
设置地图的默认中心点-SDK 示例 | 高德地图API (amap.com)
使用
defaultPosition = new CameraPosition.Builder()
.target(defaultLatLng).zoom(18).bearing(0).tilt(30).build();
AMapOptions aOptions = new AMapOptions();
aOptions.camera(defaultPosition);
进行配置。但是,我按照要求设置了我自己的defaultPosition之后并没有生效,查询之后,发现可以在设置之后再加一句
getaMap().animateCamera(CameraUpdateFactory.newLatLngZoom(defaultLatLng, getaMap().getCameraPosition().zoom));
强制将视图换到中心。但是这个终归不是权宜之计,毕竟官方推荐方法中只要设置了
aOptions.camera(defaultPosition);
就可以解决问题。
所以可以把这些封装为一个函数:
defaultPosition = new CameraPosition.Builder()
.target(defaultLatLng).zoom(18).bearing(0).tilt(30).build();
AMapOptions aOptions = new AMapOptions();
aOptions.camera(defaultPosition);
getaMap().animateCamera(CameraUpdateFactory.newLatLngZoom(defaultLatLng, getaMap().getCameraPosition().zoom));
(虽然我感觉除了最后一句前面的好像是在做无用功,因为已经手动调了camera了)
此处埋坑,有机会填坑