我使用的是osmdroid 5.6.5版(最新版本),地图图块(MAPNIK)的加载速度非常慢。
这种情况发生在我试用过的两款设备上,都有高速互联网连接(包括手机和WIFI)。
这似乎是一个问题,因为加载不应该那么慢
这是活动中的地图的代码段:
@Override
protected void onCreate( Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
appContext = getApplicationContext();
//important! set your user agent to prevent getting banned from the osm servers
Configuration.getInstance().load(appContext, PreferenceManager.getDefaultSharedPreferences(appContext));
setContentView(R.layout.navigation);
mMapView = (MapView) findViewById(map);
mMapView.setTileSource(TileSourceFactory.MAPNIK);
mMapView.setMultiTouchControls(true);
mMapView.setBuiltInZoomControls(true);
// add rotation gesture
mRotationGestureOverlay = new RotationGestureOverlay(this, mMapView);
mRotationGestureOverlay.setEnabled(true);
mMapView.setMultiTouchControls(true);
mMapView.getOverlays().add(this.mRotationGestureOverlay);
// Set to default location
IMapController mapController = mMapView.getController();
mapController.setZoom(15);
GeoPoint startPoint = new GeoPoint(48.8589654,2.2926013);
mapController.setCenter(startPoint);
}
我似乎无法找到这种缓慢负载的原因。 有没有选择使用更简单的地图?会有帮助吗? 有没有其他解决方案,我做错了什么?
感谢。
答案 0 :(得分:2)
尝试在您的应用程序中设置userAgentValue:
Configuration.getInstance().setUserAgentValue(BuildConfig.APPLICATION_ID);
答案 1 :(得分:0)
对我来说,一个建议出现在其中一个问题中。加载HTTPS时出现问题,因此用普通的HTTP替换它可以正常工作:
map.setTileSource(
new XYTileSource("HttpMapnik",
0, 19, 256, ".png", new String[] {
"http://a.tile.openstreetmap.org/",
"http://b.tile.openstreetmap.org/",
"http://c.tile.openstreetmap.org/" },
"© OpenStreetMap contributors")
);