找不到符号变量 mapquest_osm

Cannot find symbol variable mapquest_osm

我创建了一个新项目,并从大约一年前的旧项目中借用了一些 Osmdroid 代码。

这一行:

    mapView.setTileSource(new XYTileSource(OSM_Mapquest, 
        ResourceProxy.string.mapquest_osm, 0, MAX_ZOOM_LEVEL, 256, IMAGE_EXTENSION, parameterString));

我收到错误:

cannot find symbol variable mapquest_osm

我在新项目中查看ResourceProxy,确实没有这个变量。 如果我查看旧项目中的 ResourceProxy,它就在那里:

package org.osmdroid;

import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;

public interface ResourceProxy {

    public static enum string {

        // tile sources - THIS IS MISSING FROM THE NEW
        mapnik, cyclemap, public_transport, cloudmade_small, cloudmade_standard, mapquest_osm, mapquest_aerial, bing, mapbox,

        // overlays - SO IS THIS
        fiets_nl, base_nl, roads_nl,

        // other stuff - THIS BOTH IN THE OLD AND THE NEW
        unknown, format_distance_meters, format_distance_kilometers, format_distance_miles, format_distance_nautical_miles, format_distance_feet, online_mode, offline_mode, my_location, compass, map_mode,

    }

看来这是有意删除的。 我应该以其他方式 setTileSource() 吗?

在新项目中,我在应用gradle文件中包含了osmdroid:

dependencies { ...
compile 'org.osmdroid:osmdroid-android:5.1@aar'
compile 'org.osmdroid:osmdroid-third-party:5.0.1@aar' }

那是因为它被删除了。

Osmdroid 在 wiki 中维护着升级指南,位于以下 link

https://github.com/osmdroid/osmdroid/wiki/Upgrade-Guide

基本上,资源代理不再使用,并且已从源代码库中删除。只需删除参考,您就可以开始了。所有其他构造函数参数都相同。

MapQuest 也发生了重大变化,不再提供没有 API 密钥的免费图块。 TileSourceFactory 中提供了其他资源,并且进一步讨论了 osmdroid 的 wiki 和问题跟踪器。