Usu*_*ect 8 android google-maps-android-api-2 android-maps-v2
问题:
1)地图获取动画到达所需位置(代码中的第4行)但它已缩放到默认位置(代码中的第5行)
[将地图保留在指定缩放级别的默认位置]
2)我理解为什么问题发生但我不知道如何解决它.
3)如果我将第4行更改为moveCamera而不是将起作用的animateCamera,但我确实需要animateCamera()方法.
这是代码:
map=((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();
MarkerOptions options=new MarkerOptions().position(new LatLng(13.0810,80.2740));
map.addMarker(options);
map.animateCamera(CameraUpdateFactory.newLatLng(new LatLng(13.0810,80.2740)),4000,null);
map.animateCamera(CameraUpdateFactory.zoomTo(15.5f),2000,null);
Run Code Online (Sandbox Code Playgroud)
Pav*_*dka 38
问题是您zoom在开始动画到新位置后立即调用.这就是为什么它只是用新的替换最后一次相机更新动作.
您可以通过创建更准确的相机更新操作(包括latlng更改和缩放级别更改)来解决此问题:
CameraPosition newCamPos = new CameraPosition(new LatLng(13.0810,80.2740),
15.5f,
map.getCameraPosition().tilt, //use old tilt
map.getCameraPosition().bearing); //use old bearing
map.animateCamera(CameraUpdateFactory.newCameraPosition(newCamPos), 4000, null);
Run Code Online (Sandbox Code Playgroud)
另外,通过MaciejGórski指出的那样,你可以使用newLatLngZoom界面,包括LatLng和zoom变化:
map.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(13.0810,80.2740), 15.5f), 4000, null);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18179 次 |
| 最近记录: |