【发布时间】:2015-07-10 17:44:04
【问题描述】:
我正在尝试以一定的缩放比例将地图聚焦在标记上。我查看了 stackoverflow 中的几篇文章,但看不出出现以下错误的任何原因:
java.lang.IllegalStateException: 使用错误 newLatLngBounds(LatLngBounds, int): 地图大小不能为0
很可能,地图视图的布局尚未发生。要么等到布局发生,要么使用newLatLngBounds(LatLngBounds, int, int, int),它允许您指定地图的尺寸。
我使用的代码是:
private void setUpMap(String address) throws IOException {
Geocoder gc = new Geocoder(this);
List<Address> list = gc.getFromLocationName(address, 1);
Address add = list.get(0);
double Longitude = add.getLongitude();
double Latitude= add.getLatitude();
Marker m = mMap.addMarker(new MarkerOptions().position(new LatLng(Latitude, Longitude)).title(address));
LatLngBounds.Builder builder = new LatLngBounds.Builder();
builder.include(m.getPosition());
LatLngBounds bounds = builder.build();
mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 10));
}
我调试了代码,它抛出了之前的异常就行了
mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 10));
这里有什么建议吗?谢谢...
【问题讨论】:
-
@HarshDattani。这没有回答或解决我的问题..我做的一切都是正确的..但仍然得到这个异常..
-
我认为问题可能与仅将一个位置传递给 LatLngBounds.builder 有关,我认为您至少需要两个位置才能提供大于 0 的大小。
标签: java android google-maps