2014-01-30 92 views
0

嗨我目前正試圖在谷歌地圖上顯示多個點。 除縮放功能外,一切正常。我無法解決如何設置縮放以顯示所有點。如果點很接近,代碼就會顯示出來,但如果距離很遠,則代碼不會顯示。 我周圍搜索,但無法找到任何東西。Android設置縮放多點

任何幫助?

 Marker storeMarker = mMap.addMarker(new MarkerOptions().position(latLng).title(name).snippet("test")); 

     CameraUpdate center = CameraUpdateFactory.newLatLng(new LatLng(lat, lng)); 
     CameraUpdate zoom = CameraUpdateFactory.zoomTo(10); 

     mMap.moveCamera(center); 
     mMap.animateCamera(zoom); 

回答

0

您應該計算將包含所有點的LatLngBounds,然後調用CameraUpdateFactory.newLatLngBounds(...)並更新此更新地圖。

請參見: http://developer.android.com/reference/com/google/android/gms/maps/CameraUpdateFactory.html#newLatLngBounds(com.google.android.gms.maps.model.LatLngBounds, int)

你不應該需要兩次更新地圖 - 有功能的同時創造變焦+中心。

使用LatLngBounds.Builder計算邊界幷包括其中的所有點。

+0

http://pastebin.com/L6tcuPW9你有什麼機會可以快速瀏覽一下,只是指向正確的方向? 我正在調用DownloadTask downloadTask = new DownloadTask();每次我得到一個新的郵政編碼,所以我不知道如何計算多個點。如果這有道理? ha – user3237406

+0

您需要將所有點包含到一個LatLngBounds中,然後構建和縮放 - 您現在正在做的是爲每個點創建一個新邊界。 用代碼檢查此答案: http://stackoverflow.com/questions/16416041/zoom-to-fit-all-markers-on-map-google-maps-v2 – Raanan