2013-04-12 38 views
3

我正嘗試使用Google地圖爲我的應用創建自定義「我的位置」按鈕。Android谷歌地圖縮放以適​​應標記和當前位置

我想要做的是將地圖圍繞用戶的位置居中,這已經完成並且工作完美無瑕,但也想放大到足以看到我選擇的標記(這實際上是這是我記憶中的一組標記中最接近的一個,但現在並不重要)。

我一直無法找到zoom變量是如何工作的。如果我知道我想要顯示的標記距離我0.5個GPS單位,我怎樣才能將地圖圍繞在我的周圍,使其在邊界上包含該標記?我也會使用填充來確保它完全適合地圖。

LatLng my_coordinates = ...; 
LatLng closest_mark = ...; 

map.animateCamera(CameraUpdateFactory.newLatLng(my_coordinates)); 

所以現在我想修改代碼,不僅居中位置my_coordinates還要確保變焦會使closest_mark適合在視口中

CameraUpdateFactory.newLatLngBounds(?? , /*padding*/); 

回答

2

我不認爲這是一個您可以在地圖中的點上控制api中的特定縮放變量。 (LatLngBounds只是在右上角和左下角,並相應地爲您提供視圖)。

我相信你可以做的只是一個小几何。如果你的標記非常接近你的位置(你可以把它看成一個矩形),得到兩者之間的距離,然後用相同的距離推算出相反方向的距離(如果你需要一些填充,乘以一個小的因子)就可以得到其他座標,然後你可以得到右上角和左下角座標(簡單幾何)。

如果您的標記相當遠並且地球表面出現圖片,則可能必須使用haversine formula (great circle distance)

希望這會有所幫助。

+0

工作,謝謝! –

+0

歡迎您:) – Guru

相關問題