2012-06-27 22 views
0

我使用的地圖視圖投影獲得像Android - 谷歌地圖 - 投影 - toPixels() - 它是獨立於像素的設備嗎?

currentPixelLocation = businessMapMv.getProjection().toPixels(tappedLocation, null); 

這時屏幕上的像素,我用這個做這樣一箇中心氣球提示在屏幕上操縱一些。

所以我要做的就是

currentPixelLocation.y = currentPixelLocation.y - 100 

這工作得很好。 toPixels方法設備返回的像素位置是否獨立?

像上面的代碼我的manioulation適用於所有屏幕分辨率?

回答

1

我認爲你的網站上的設備獨立像素存在誤解。如果您將佈局聲明爲與設備無關的像素(dip),則框架本身會根據設備顯示密度計算正確的Veiw大小,以適用於運行時運行的設備。在框架計算View維度之後,View將以像素爲單位設置其維度。

因此,getProjection()。toPixels()爲您提供了相對於底層MapView的位置,以像素爲單位。這些像素是獨立於設備的。

我看起來錯了什麼是你計算currentPixelLocation.y = currentPixelLocation.y - 100 100代表什麼?這100個確定地取決於設備。如果你想減去100個像素,只需使用這個計算currentPixelLocation.y = currentPixelLocation.y - 100 * getResources().getDisplayMetrics().density + 0.5f。它確保,100個像素是計算設備* *依賴。

0

它們與設備無關,但取決於爲瓦片層定義的瓦片大小。在常規貼圖上,默認瓷磚大小爲256 x 256像素。