Nan*_*noc 5 android google-maps
我有一个奇怪的问题谷歌地图为Android.
一切正常,但是当用户使用地图开始活动时,我想放大并将相机放在指定的位置.
这是我的代码:
LatLng l = new LatLng(40.446951,-3.693295);
defaultPos = mapa.addMarker(new MarkerOptions().position(new LatLng(l.latitude, l.longitude)).icon(BitmapDescriptorFactory.defaultMarker((float) 250.0)));
Log.d("mappoi","zoom to");
mapa.animateCamera(CameraUpdateFactory.zoomTo(17.0f));
mapa.animateCamera(CameraUpdateFactory.newLatLng(l));
Run Code Online (Sandbox Code Playgroud)
因此,正如您所看到的,即时创建一个新的LatLng对象并使用它在地图上创建标记,然后我想将相机置于该位置并放大.
我不知道为什么,但缩放仅在第一次执行时才起作用,所以当我全新安装我的应用程序时它工作正常,但如果我返回并重新启动活动,它不会做任何缩放并保持默认缩放级别,即使我关闭并重新启动我的应用程序它不再工作,只有当我卸载并重新安装它再次工作,但只有一次.
我不能想象什么是错的,如果它第一次工作,为什么不下一个呢?
谢谢你的帮助.
编辑:当我按下后退按钮时,我的活动被杀死,所以每次调用onCreate.
感谢gnuanu评论指点我:
如何在Google Maps Android API v2中将相机直接移动到当前位置?
解决方案是使用:
CameraUpdateFactory.newLatLngZoom()
Run Code Online (Sandbox Code Playgroud)
代替
CameraUpdateFactory.zoomTo()
CameraUpdateFactory.newLatLng()
Run Code Online (Sandbox Code Playgroud)
也许newLatLng正在改变缩放级别.
| 归档时间: |
|
| 查看次数: |
2791 次 |
| 最近记录: |