Java android版Tomtom Maps sdk无法加载互动程序
我正在尝试将Java android版Tomtom Maps sdk无法加载互动程序,java,android,kotlin,tomtom,tomtom-android-sdk,Java,Android,Kotlin,Tomtom,Tomtom Android Sdk,我正在尝试将TomTom映射添加到使用Kotlin构建的android应用程序中,但它给出了错误TomTom maps SDK for android未能加载磁贴,并显示空映射,如下图所示: 以下是我使用的文件和详细配置: 在项目级渐变文件中,我有: 在应用程序级别的Gradle文件中,我有: 我已经将APK添加到AndroidManifests文件中: 需要检查的两个可能点: 您的API密钥无效。请通过调用原始TomTom Maps endpoint来检查API密钥:如果无法看
TomTom
映射添加到使用Kotlin
构建的android应用程序中,但它给出了错误TomTom maps SDK for android未能加载磁贴
,并显示空映射,如下图所示:
以下是我使用的文件和详细配置:
- 在项目级渐变文件中,我有:
- 在应用程序级别的Gradle文件中,我有:
- 我已经将
添加到APK
文件中:AndroidManifests
需要检查的两个可能点:
- 您的API密钥无效。请通过调用原始TomTom Maps endpoint来检查API密钥:如果无法看到贴图平铺图像,请转到并再次检查以注册新的API密钥
- 您的API密钥放置在AndroidManifest.xml文件中的错误位置。确保将其放置在
标签内
标签旁边
allprojects {
repositories {
google()
jcenter()
maven {
url "https://maven.tomtom.com:8443/nexus/content/repositories/releases/"
}
}
}
dependencies {
implementation("com.tomtom.online:sdk-maps:2.4244")
}
<meta-data
android:name="OnlineMaps.Key"
android:value="<my-Key-here>" />
//lateinit late initialization of non-null type variables
private lateinit var map: TomtomMap
private lateinit var fusedLocationClient: FusedLocationProviderClient
private lateinit var lastLocation: Location
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_map)
val mapFragment = supportFragmentManager
.findFragmentById(R.id.mapFragment) as MapFragment
mapFragment.getAsyncMap(this)
fusedLocationClient = LocationServices.getFusedLocationProviderClient(this)
}
companion object {
private const val LOCATION_PERMISSION_REQUEST_CODE = 101
}
private fun setUpMap() {
if (ActivityCompat.checkSelfPermission(this,
android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
arrayOf(android.Manifest.permission.ACCESS_FINE_LOCATION), LOCATION_PERMISSION_REQUEST_CODE)
return
}
map.isMyLocationEnabled = true
fusedLocationClient.lastLocation.addOnSuccessListener(this) {
location ->
if (location != null){
lastLocation = location
val currentLatLng = LatLng(location.latitude, location.longitude)
val balloon = SimpleMarkerBalloon("You are Here")
map.addMarker(MarkerBuilder(currentLatLng).markerBalloon(balloon))
map.centerOn(CameraPosition.builder(currentLatLng).zoom(7.0).build())
}
}
}
override fun onMapReady(@NonNull tomtomMap: TomtomMap) {
this.map = tomtomMap
setUpMap()
}