我正在尝试使用 osmdroid 库实现 MapView。
然而,目前我似乎能够放大的最远不足以满足我的目的。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Setup map view:
mapView = new MapView(this, 256);
setContentView(mapView);
// Parse parameters
Intent intent = getIntent();
center = intent.getDoubleArrayExtra(INITIAL_CENTER);
multiTouch = intent.getBooleanExtra(MULTI_TOUCH, DEFAULT_MULTI_TOUCH);
zoomButtons = intent.getBooleanExtra(ZOOM_BUTTONS, DEFAULT_ZOOM_BUTTONS);
zoomLevel = intent.getIntExtra(ZOOM_LEVEL, DEFAULT_ZOOM_LEVEL);
if (center == null)
center = DEFAULT_INITIAL_CENTER;
// Applying parameters
mapView.setClickable(true);
mapView.setMultiTouchControls(multiTouch);
mapView.setBuiltInZoomControls(zoomButtons);
mapView.getController().setZoom(zoomLevel);
mapView.getController().setCenter(new GeoPoint(center[0], center[1]));
mapView.setTileSource(TileSourceFactory.MAPQUESTOSM);
mapView.setMaxZoomLevel(18);
// Show current location coordinates
Toast.makeText(
getApplicationContext(),
"Latitude:\t\t" + center[0] + "\n" +
"Longitude:\t" + center[1],
Toast.LENGTH_LONG).show();
// Offline maps:
mapView.setUseDataConnection(true);
}
有没有办法进一步放大(我已经尝试将缩放级别设置为 18)?
最佳答案
最大缩放级别由您使用的图 block 源决定。如果您使用提供的在线切片源之一,如 MAPNIK,则最大缩放级别设置为 18,因为这是切片源为其创建切片的最大缩放级别。如果您想进一步放大,则需要使用提供更高缩放级别图 block 的图 block 源。
如果您只想覆盖最大缩放级别而不考虑图 block 源的缩放级别,那么您只需调用:
mapView.setMaxZoomLevel(19);
将最大缩放级别设置为 19,但瓦片源可能只是没有处于该缩放级别的瓦片。
关于java - osmdroid - 更高的缩放级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22282315/