除非我不正确地理解这一点,否则要在给定点周围初始化osmdroid,您将执行以下操作:
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);
然而,当我运行它时,地图sorta会做任何想做的事情。它并不以给定的GeoPoint
为中心。改变这些数字似乎无能为力。我错过了什么吗?
我的XML
文件按照我的权限按照教程顺序排列。
答案 0 :(得分:3)
这是在onCreate中设置地图视图时发生的已知错误: https://github.com/osmdroid/osmdroid/issues/22
问题已关闭,因为假定在源头中已修复,但它仍然没有在4.2 osmdroid版本中修复。
一旦绘制了mapview,setCenter就可以正常工作了。
在osmdroid项目问题中可以找到各种解决方法。
答案 1 :(得分:0)
自2014-06-24 Osmdroid有此
MapView.addOnFirstLayoutListener(new OnFirstLayoutListener() { ...});
可用于设置初始缩放,mapcenter,....