2014-12-04 33 views
1

除非我理解這個錯誤,初始化osmdroid圍繞給定的點,你會做如下:osmdroid不居中/註冊的GeoPoint座標

map = (MapView) findViewById(R.id.mapview); 
    map.setTileSource(TileSourceFactory.MAPNIK); 
    MapController mapController = (MapController)map.getController(); 

    GeoPoint startPoint = new GeoPoint(52370816, 9735936); 
    mapController.animateTo(startPoint); 
    map.setBuiltInZoomControls(true); 
    mapController.setZoom(2); 
    map.setUseDataConnection(true); 
    map.setMultiTouchControls(true); 

當我運行這個然而,在地圖八九不離十做什麼它想。它不以給定的GeoPoint爲中心。改變這些數字似乎沒有任何作用。我錯過了什麼嗎?

我的XML文件都是按照教程的順序和我的權限。

回答

3

這是一個已知的bug發生的歷史,當你設置的onCreate地圖視圖: https://github.com/osmdroid/osmdroid/issues/22

問題被關閉,因爲假定固定在源頭,但它仍然不是固定在4.2 osmdroid釋放。

一旦mapview被繪製一次,setCenter工作正常。

可以在osmdroid項目問題中找到各種解決方法。

+0

噢,涼爽。那麼如果這是一個已知的錯誤,我可以阻止我的頭撞牆。謝謝,MKer! – Matt 2014-12-04 17:06:53

0

由於2014年6月24日Osmdroid具有此

MapView.addOnFirstLayoutListener(new OnFirstLayoutListener() { ...}); 

其可以被用來設置初始縮放,mapcenter,....