找不到符号变量mapquest_osm

时间:2016-09-13 18:31:15

标签: android osmdroid

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

在这一行:

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

我收到错误:

  

无法找到符号变量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()吗?

在新项目中,我已将osmdroid包含在app gradle文件中:

  
    

依赖{         ...
        编译' org.osmdroid:osmdroid-android:5.1@aar'
        编译' org.osmdroid:osmdroid-third-party:5.0.1@aar' }

  

1 个答案:

答案 0 :(得分:2)

那是因为它被删除了。

Osmdroid维护了wiki中的升级指南,位于以下链接

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

基本上,资源代理不再使用,并且从源代码库中被淘汰。只需删除参考,您应该好好去。所有其他构造函数参数都是相同的。

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