java - 如何使用 Java 修复 AndroidX 中 Mapbox 9.5.0 的未解析导入

标签 java android sdk mapbox

我正在使用 Mapbox SDK(当前版本 9.5.0)创建一个 Android 导航应用程序,并且我已经成功地能够初始化 map View 以及跟踪用户的当前位置。到目前为止,我没有遇到 Unresolved 导入语句或任何实际问题的问题。我目前正在研究的功能是允许用户在 map 上选择一个位置点,这将在该点上放置一个 map 标记并返回该标记的坐标。为了合并这个特性,我一直在关注 Mapbox 文档,特别是 this tutorial。 .
现在我已经将这个新代码添加到我的应用程序中,我发现了一些问题,有很多我试图使用的对象无法解决,为了研究这个问题,我去了我的导入语句在我的 java 文件顶部,发现一些无法正常工作的导入,即:

import com.mapbox.api.geocoding.v5.GeocodingCriteria;
import com.mapbox.api.geocoding.v5.MapboxGeocoding;
import com.mapbox.api.geocoding.v5.models.CarmenFeature;
import com.mapbox.api.geocoding.v5.models.GeocodingResponse;
上述导入在“api”下都有一条红线,并给出错误:“Cannot resolve symbol 'api'”。其他一些错误的导入是:
import com.mapbox.core.exceptions.ServicesException;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import timber.log.Timber;
我不确定为什么所有这些特定的导入都没有解决,因为我所有的其他 Mapbox 导入还没有给我任何问题。我怀疑这可能是我的 Gradle 文件中缺少依赖项或实现,但我已尽我所能遵循文档指南,所以除非我错过了一些重要的事情,否则我不确定原因可能是什么。以下是我添加到成绩文件中的 Mapbox 依赖项和实现:
项目级 build.gradle:
maven {
            url 'https://api.mapbox.com/downloads/v2/releases/maven'
            authentication {
                basic(BasicAuthentication)
            }
            credentials {
                username = 'mapbox'
                password = project.properties['MAPBOX_DOWNLOADS_TOKEN'] ?: "my secret password"
            }
        }
在我的应用程序级 build.gradle 中:
    implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.5.0'
如果有人知道我的问题可能是什么,我将不胜感激。

最佳答案

坚持使用 Maps SDK 9.5.0不需要,因为您可以只使用常规日志记录(例如 log.e 而不是 Timber.e ),但是可以通过以下方式下载木材:https://github.com/JakeWharton/timber#download
https://docs.mapbox.com/android/maps/examples/location-picker使用 MapboxGeocoding ,它是 Mapbox Java SDK 对 Mapbox 地理编码 API 的封装。您需要安装 services要使用的模块MapboxGeocoding : https://docs.mapbox.com/android/java/overview/#installation & https://docs.mapbox.com/android/java/overview/#available-packages .这应该解决

import com.mapbox.api.geocoding.v5.GeocodingCriteria;
import com.mapbox.api.geocoding.v5.MapboxGeocoding;
import com.mapbox.api.geocoding.v5.models.CarmenFeature;
import com.mapbox.api.geocoding.v5.models.GeocodingResponse;
import com.mapbox.core.exceptions.ServicesException;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
注意还有 Places 插件 https://docs.mapbox.com/android/plugins/overview/places/ ,它具有比 https://docs.mapbox.com/android/plugins/examples/place-picker/ 更精致的位置选择器功能 ( https://docs.mapbox.com/android/maps/examples/location-picker )

关于java - 如何使用 Java 修复 AndroidX 中 Mapbox 9.5.0 的未解析导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64276452/

相关文章:

java - 如何将用户的 'firstname' 添加到 cassandra,在尝试添加数据时获取未知标识符名字

java - Dex缓存目录不可写:/data/dalvik-cache

java - OpenCV 库中的错误 - 2.4.9

java - 想学Android开发,不懂Java

java - Jersey REST 中的 InputStream 只返回一个字节

java - 如何实现 FPS 相机?

android - 扩展 fragment 的类中的选项卡

android - 分享意向不给我一个选择

android - 如何在 Windows 7 的模拟器上安装 facebook api?

iphone - 设备 Xcode iPhone 编程选择