दस्तावेज़ / सेटअप / Android / TomTom

TomTom का सेटअप

MapConductor से TomTom Orbis Maps Display SDK का उपयोग करने की प्रक्रिया। विशेष Maven रिपॉजिटरी जोड़ें और API कुंजी को मैनिफेस्ट में पास करें।

MODULE
com.mapconductor:for-tomtom
API KEY
आवश्यक
VIEW
TomTomMapView
TIME
15 मिनट
वही प्रोवाइडर, दूसरे प्लेटफ़ॉर्मiOSReact

शुरू करने से पहले

Android विकास वातावरण (Android Studio)
TomTom Developer Portal खाता और Orbis Maps की API कुंजी
STEP 01

API कुंजी प्राप्त करें

TomTom Developer Portal पर Orbis Maps के लिए API कुंजी जारी करें।

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

मैनिफेस्ट में कुंजी लिखें

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

थीम की पुष्टि करें

TomTom के UI ओवरले (लोगो, कंपास आदि) 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 रेंडरिंग Compose के SubcomposeLayout के साथ संघर्ष करती है। यदि आप स्वयं MapOptions बना रहे हैं, तो वही निर्दिष्ट करना आवश्यक है।

बिल्ड विफल हो रहा है

  • नक्शे SDK के निर्देशांक और संस्करण वर्जन कैटलॉग के निर्दिष्ट से मेल खाते हैं या नहीं, इसकी पुष्टि करें।
  • settings.gradle.kts में रिपॉजिटरी परिभाषा है या नहीं इसकी पुष्टि करें (repositoriesMode FAIL_ON_PROJECT_REPOS है, तो मॉड्यूल की repositories को अनदेखा किया जाता है)।
  • यदि आप कई नक्शे SDK एक साथ उपयोग कर रहे हैं, तो निर्भरता संघर्ष की जांच के लिए ./gradlew :app:dependencies का उपयोग करें।

आगे

मार्कर, पॉलीलाइन, पॉलीगॉन, वृत्त, ग्राउंड इमेज, रास्टर लेयर, InfoBubble सभी सामान्य API के साथ उपयोग किए जा सकते हैं। TomTom के पास मार्कर का नेटिव ड्रैग नहीं है, इसलिए MapConductor MotionEvent को सीधे संसाधित करके ड्रैग लागू करता है। draggable मार्कर वैसे ही काम करेंगे।