gpt4 book ai didi

android - 在android中调整谷歌地图(api v2)缩放级别

转载 作者:太空狗 更新时间:2023-10-29 15:30:27 29 4
gpt4 key购买 nike

我在我的应用程序中使用 maps api v2。我必须在 map 上显示我的当前位置和目标位置,以便这两个位置在屏幕上都可见(以最大可能的缩放级别)。这是我到目前为止尝试过的...

googleMap = ((SupportMapFragment) getFragmentManager().findFragmentById(R.id.mapFragment)).getMap();

if(googleMap != null){

googleMap.setMyLocationEnabled(true);
LatLng targetLocationLatLng = new LatLng(modelObject.getLattitude(), modelObject.getLongitude());
LatLng currentLocationLatLng = new LatLng(this.currentLocationLattitude, this.currentLocationLongitude);
googleMap.addMarker(new MarkerOptions().position(targetLocationLatLng).title(modelObject.getLocationName()).icon(BitmapDescriptorFactory.fromResource(R.drawable.location_icon)));
LatLngBounds bounds = new LatLngBounds(currentLocationLatLng, targetLocationLatLng);
googleMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 3));

}

由于以下原因,应用程序被强制关闭:java.lang.IllegalStateException: Map 大小不应为 0。很可能, map View 尚未发生 layout

如何获得最大可能的缩放级别?请帮助我。

最佳答案

在我的项目中,我使用 com.google.android.gms.maps.model.LatLngBounds.Builder

根据您的源代码进行调整,它应该看起来像这样:

Builder boundsBuilder = new LatLngBounds.Builder();
boundsBuilder.include(currentLocationLatLng);
boundsBuilder.include(targetLocationLatLng);
// pan to see all markers on map:
LatLngBounds bounds = boundsBuilder.build();
googleMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 3));

关于android - 在android中调整谷歌地图(api v2)缩放级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15220404/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com