เอกสาร / การตั้งค่า / Android / TomTom
การตั้งค่า TomTom
นี่คือขั้นตอนในการใช้งาน TomTom Orbis Maps Display SDK จาก MapConductor เพิ่มที่เก็บ Maven เฉพาะและส่งคีย์ API ในไฟล์ Manifest
MODULE
com.mapconductor:for-tomtom
API KEY
จำเป็น
VIEW
TomTomMapView
TIME
15 นาที
ก่อนเริ่ม
สภาพแวดล้อมการพัฒนา Android (Android Studio)
บัญชีใน TomTom Developer Portal และคีย์ API สำหรับ Orbis Maps
STEP 01
รับคีย์ API
ออกคีย์ API สำหรับ Orbis Maps ใน TomTom Developer Portal
STEP 02
เพิ่มที่เก็บของ TomTom
settings.gradle.ktsKotlin
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
// TomTom Orbis Maps SDK repository
maven {
url = uri("https://repositories.tomtom.com/artifactory/maven")
}
}
}STEP 03
เพิ่มการพึ่งพา
app/build.gradle.ktsKotlin
dependencies {
// TomTom Orbis Maps Display SDK
implementation("com.tomtom.sdk.maps:map-display-standard:2.4.2")
// MapConductor BOM pins every module below
implementation(platform("com.mapconductor:mapconductor-bom:1.3.1"))
implementation("com.mapconductor:core")
implementation("com.mapconductor:for-tomtom")
}STEP 04
เขียนคีย์ใน Manifest
AndroidManifest.xmlXML
<manifest>
<uses-permission android:name="android.permission.INTERNET" />
<application>
<meta-data
android:name="TOMTOM_API_KEY"
android:value="${TOMTOM_API_KEY}" />
</application>
</manifest>ข้อควรระวัง
อย่าส่ง secrets.properties ไปยังการควบคุมเวอร์ชัน การเพิ่มลงใน .gitignore จะช่วยป้องกันข้อผิดพลาด ใน CI ให้ส่งผ่านเส้นทางที่ปลอดภัยอื่นๆ เช่น ตัวแปรสภาพแวดล้อม
STEP 05
ตรวจสอบธีม
การวางซ้อน UI ของ TomTom (โลโก้ ทิศทาง ฯลฯ) ถือว่าใช้ธีมจากกลุ่ม AppCompat ด้วยธีมอื่นการวาดจะทำงานแต่จะมีบันทึกคำเตือน แนะนำ Theme.AppCompat หรือกลุ่ม Theme.MaterialComponents
ตรวจสอบ
สิ่งที่ควรเห็น
เมื่อแผนที่และมาร์คเกอร์ปรากฏขึ้นก็เสร็จสมบูรณ์
TestTomTom.ktJetpack Compose
@Composable
fun TestTomTom(modifier: Modifier = Modifier) {
val mapState = rememberTomTomMapViewState(
mapDesign = TomTomMapDesign.Standard,
cameraPosition = MapCameraPosition(
position = GeoPoint(52.3676, 4.9041),
zoom = 11.0,
),
)
TomTomMapView(state = mapState, modifier = modifier) {
Marker(
MarkerState(
position = GeoPoint(52.3676, 4.9041),
icon = DefaultMarkerIcon().copy(label = "Amsterdam"),
),
)
}
}ดีไซน์แผนที่
TomTomMapDesign รองรับสไตล์มาตรฐานของ Orbis Maps
TomTomMapDesign
Notes
Standard
สไตล์มาตรฐานสำหรับการดู
Driving
สำหรับขับรถ
Satellite
ภาพดาวเทียม
การแก้ปัญหา
ตำแหน่งการวาดแผนที่เลื่อน
- MapConductor ระบุ MapOptions(renderToTexture = true) เนื่องจากการวาด SurfaceView เริ่มต้นขัดแย้งกับ SubcomposeLayout ของ Compose หากคุณสร้าง MapOptions เอง จำเป็นต้องระบุเช่นเดียวกัน
บิลด์ล้มเหลว
- ตรวจสอบว่าพิกัดและเวอร์ชันของ Map SDK ตรงกับการระบุใน Version Catalog หรือไม่
- ตรวจสอบว่าคำจำกัดความของที่เก็บมีอยู่ใน settings.gradle.kts หรือไม่ (หาก repositoriesMode เป็น FAIL_ON_PROJECT_REPOS ที่เก็บของโมดูลจะถูกละเว้น)
- หากคุณมี Map SDK หลายตัวพร้อมกัน ให้ตรวจสอบความขัดแย้งของการพึ่งพาด้วย ./gradlew :app:dependencies
ถัดไป
มาร์คเกอร์ เส้นโครงร่าง รูปหลายเหลี่ยม วงกลม Ground Image เลเยอร์แรสเตอร์ และ InfoBubble สามารถใช้งานได้ทั้งหมดผ่าน API ร่วม เนื่องจาก TomTom ไม่มีการลากแบบเนทีฟสำหรับมาร์คเกอร์ MapConductor จึงประมวลผล MotionEvent โดยตรงเพื่อใช้งานการลาก มาร์คเกอร์ที่ลากได้จะทำงานทันที