java - osmdroid - 更高的缩放级别?

标签 java android openstreetmap osmdroid

我正在尝试使用 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);

}

enter image description here

有没有办法进一步放大(我已经尝试将缩放级别设置为 18)?

最佳答案

最大缩放级别由您使用的图 block 源决定。如果您使用提供的在线切片源之一,如 MAPNIK,则最大缩放级别设置为 18,因为这是切片源为其创建切片的最大缩放级别。如果您想进一步放大,则需要使用提供更高缩放级别图 block 的图 block 源。

如果您只想覆盖最大缩放级别而不考虑图 block 源的缩放级别,那么您只需调用:

mapView.setMaxZoomLevel(19);

将最大缩放级别设置为 19,但瓦片源可能只是没有处于该缩放级别的瓦片。

关于java - osmdroid - 更高的缩放级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22282315/

相关文章:

android - 使用文件输入登录/android

java - 使用 Android Studio 转移计算机,现在出现 Gradle 错误

android - '错误 : Duplicate resources' after updating Google Open Source Notices to 0. 9.2

eclipse - 是否可以在 Open Street Map 中的几何对象顶部叠加图标?

ruby-on-rails - 如何自动将 OSM 数据集加载到 rake db :create or migrate 上的 rails postgresql db

android - Android 上的 proguard 后离线 map 卡住应用程序

Java DecimalFormat 科学记数法问题

java - 在Hadoop上使用Jar文件运行Java代码

java - 读取 args 并将所有字母转换为大写字母的程序,无需使用 toUpperCase()

Java2D Artifact ?