嗨我有一个小问题,在地图上显示点。 我使用Arraylist来存储多个纬度/经度值,然后做一个for循环来添加点和自动缩放。有2个或更多标记时,一切正常。问题是只有一个标记被添加时,它放大得太近。Android地图自动缩放
任何人都知道如何解决这个问题?
public static void processMap()
{
for (int i = 0; i < lat.size(); i++)
{
MarkerOptions markerOptions = new MarkerOptions();
LatLng latLng = new LatLng(lat.get(i), lng.get(i));
markerOptions.position(latLng);
markerOptions.title("title");
markerOptions.snippet("description");
mMap.addMarker(markerOptions);
bounds.include(new LatLng(lat.get(i), lng.get(i)));
}
mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds.build(), 150));
}
更新代码
public static void processMap()
{
int num = 0;
double lat2 = 0;
double lng2 = 0;
for (int l = 0; l < lat.size(); l++)
{
lat2 = lat.get(l);
lng2 = lng.get(l);
LatLng latLng = new LatLng(lat2, lng2);
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.position(latLng);
markerOptions.title(title.get(l));
markerOptions.snippet(description.get(l));
mMap.addMarker(markerOptions);
bounds.include(new LatLng(lat2, lng2));
num++;
}
if (num == 1)
{
// if only 1 marker
LatLng latLng2 = new LatLng(lat2, lng2);
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng2, 16));
}
else
{
// more than 1 marker
mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds.build(), 150));
}
}
嗨对不起,我没有更早我正在试图解决这个问题答复。我设法解决这个问题,但这是否是正确的解决方法?
在类型CameraUpdateFactory的方法newLatLngZoom(经纬度,浮动)不适用的参数(的LatLngBounds,INT)那是错误,我得到当我把它更改为编辑 – user3388630
Sry基因忘了恰克'newLatLngZoom'为'newLatLngBounds' 。改变这一点,然后为你的口味提供一个界限值。 (明显高于150)。 – margabro