如何使用Java修复AndroidX中Mapbox 9.5.0的未解析导入
我正在使用Mapbox SDK(当前版本为9.5.0)创建一个Android导航应用程序,我已经成功地初始化了地图视图并跟踪了用户的当前位置。到目前为止,我还没有遇到任何未解决的导入语句或任何实际问题。我目前正在研究的功能是允许用户在地图上选择一个位置点,这将在该点上放置地图标记并返回标记的坐标。为了整合这一功能,我特别遵循了Mapbox文档 现在,我已经将这段新代码添加到我的应用程序中,我发现了一些问题,我正试图利用许多无法解决的对象,为了研究这个问题,我转到java文件顶部的导入语句,发现了一些无法正常工作的导入,即:如何使用Java修复AndroidX中Mapbox 9.5.0的未解析导入,java,android,sdk,mapbox,Java,Android,Sdk,Mapbox,我正在使用Mapbox SDK(当前版本为9.5.0)创建一个Android导航应用程序,我已经成功地初始化了地图视图并跟踪了用户的当前位置。到目前为止,我还没有遇到任何未解决的导入语句或任何实际问题。我目前正在研究的功能是允许用户在地图上选择一个位置点,这将在该点上放置地图标记并返回标记的坐标。为了整合这一功能,我特别遵循了Mapbox文档 现在,我已经将这段新代码添加到我的应用程序中,我发现了一些问题,我正试图利用许多无法解决的对象,为了研究这个问题,我转到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”下有一条红线,并给出错误:“无法解析符号‘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"
}
}
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.5.0'
在我的应用程序级别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"
}
}
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.5.0'
如果有人知道我的问题可能是什么,我将非常感谢任何帮助。坚持使用地图SDK
9.5.0
不需要,因为您可以使用常规日志记录(例如log.e
而不是Timber.e
),但可以通过以下方式下载Timber:
使用MapboxGeocoding
,这是mapboxjavasdk对mapboxgeocodingapi的包装。您需要安装服务
模块才能使用MapboxGeocoding
:&。这应该解决问题
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;
及
请注意,还有Places插件,它有一个place picker功能(),比其他插件更加完善
试试这个,在我的例子中,引号就是问题所在。刚刚删除引号,它对测试用例集
实现('com.mapbox.mapboxsdk:mapboxandroid sdk:9.3.0'){exclude group:'group_name',module:'module_name'}
尝试重建项目。我会尝试的,谢谢。我只是想知道我是否应该用任何东西替换“组名”和“模块名”,还是应该保持原样?好的,只需设置implementation'com.mapbox.mapboxsdk:mapbox android sdk:9.3.0'
。然后,clean Rebuilddi刚刚尝试将版本更改为9.3.0,然后清洁重建项目,但不幸的是,它没有更改任何内容。也许我错过了一个额外的依赖?