2014-12-04 59 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,....