Mar*_*den 5 java sdk android 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;
Run Code Online (Sandbox Code Playgroud)
上述导入在“api”下都有一条红线,并给出错误:“无法解析符号'api'”。其他一些错误的导入是:
import com.mapbox.core.exceptions.ServicesException;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import timber.log.Timber;
Run Code Online (Sandbox Code Playgroud)
我不确定为什么所有这些特定的导入都没有得到解决,因为我所有其他 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"
}
}
Run Code Online (Sandbox Code Playgroud)
在我的应用程序级 build.gradle 中:
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.5.0'
Run Code Online (Sandbox Code Playgroud)
如果有人知道我的问题可能是什么,我将非常感谢任何帮助。
坚持使用地图 SDK9.5.0
不需要,因为您可以只使用常规日志记录(例如log.e而不是Timber.e),但可以通过以下方式下载 Timber: 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;
Run Code Online (Sandbox Code Playgroud)
和
import com.mapbox.core.exceptions.ServicesException;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
Run Code Online (Sandbox Code Playgroud)
请注意,还有地点插件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更精致
| 归档时间: |
|
| 查看次数: |
2516 次 |
| 最近记录: |