2012-01-13 62 views
0

餘米使用Osmdroid創建離線地圖我怎麼能覆蓋osmdroid的默認捏縮放?

現在,我要實現我自己捏的離線地圖

縮放功能

當用戶使用捏,我想放大/縮小到只有一個特定的縮放級別,而不是增加/減少縮放級別1

有沒有辦法做到這一點?我該如何解決這個問題?

P.S:是的,有縮放控制,但我想,使縮放功能更爲直觀

感謝

回答

1

我處理與類似的問題here,並提供了捏的自定義功能的代碼。所以基本上,擴大什麼我曾在回答,只是基本上做到:

int currentZoomLevel = mOsmv.getController().getZoomLevel(); 
if (currentZoomLevel < (mOsmv.getControler().getMaxZoomLevel()) - 2) 
    mOsmv.getController().setZoomLevel(currentZoomLevel + 2); 

也就是說,不是隻是1.我也從內存中寫了上面的代碼只是增加2縮放級別的一個例子,所以我不是100%確定如果您撥打getController()來獲得當前和最大縮放級別,但我很確定就是這樣。 mOsmv,以防萬一你不明白它是否是osmdroid映射的一個實例。

+0

感謝您的鏈接,我將在星期一實施,基本上我正在修改Osmdroid的'mapview.java',以便我可以製作一個新的jar文件 – 2012-01-14 16:19:29

+0

沒問題!並記住標記爲正確的答案,如果它回答你的問題:) – digerati32 2012-01-18 15:57:24

1

我認爲這樣做會延長MapView類的方式。

覆蓋setZoomLevel看起來像一個選項,但我不認爲它會工作。正如我相信的代碼需要寫在它不是一貫做的this.setZoomLevel風格。

我想你應該能夠覆蓋selectObject看上去像其中一掐trigers打電話的地方setZoomLevel

您需要檢查source code,看看如何使nessasary修改