嗨我有一個小問題,在地圖上顯示點。 我使用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