HERE का सेटअप
MapConductor से HERE SDK (Explore Edition माना गया है) का उपयोग करने की प्रक्रिया। HERE SDK Maven के बजाय AAR के रूप में वितरित होता है, इसलिए प्रोजेक्ट में फ़ाइल रखने का चरण शामिल है।
शुरू करने से पहले
प्रमाणीकरण विवरण और AAR तैयार करें
- HERE Developer खाता बनाएं।
- HERE Developer Portal पर प्रोजेक्ट बनाएं।
- Access Key ID और Secret जनरेट करें।
- HERE SDK Explore Android का AAR डाउनलोड करें। 4.26 श्रृंखला अगर है तो काम करेगा।
प्रोजेक्ट में AAR रखें
AAR को प्रोजेक्ट के libs/ में रखें। फ़ाइल नाम को Gradle से संदर्भित नाम के साथ पूरी तरह से मेल खाना चाहिए।
<project root>/
└── libs/
└── heresdk-explore-android-4.27.2.0.309975.aarSecrets Gradle Plugin डालें
यह कुंजी को स्रोत नियंत्रण में न रखने के लिए एक तंत्र है। प्लगइन secrets.properties पढ़ता है और बिल्ड के समय AndroidManifest.xml के प्लेसहोल्डर में मान डालता है।
plugins {
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") version "2.0.1" apply false
}निर्भरता जोड़ें
AAR को लोकल फ़ाइल के रूप में संदर्भित करें। फ़ाइल नाम को वास्तव में रखी गई चीज़ के अनुसार समायोजित करें।
plugins {
// ... other plugins
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
}
dependencies {
// HERE SDK (local AAR).
// This build number is only the one MapConductor is developed against —
// use the file name of the AAR you downloaded.
implementation(
files("${rootProject.projectDir}/libs/heresdk-explore-android-4.27.2.0.309975.aar")
)
// MapConductor BOM pins every module below
implementation(platform("com.mapconductor:mapconductor-bom:1.3.1"))
implementation("com.mapconductor:core")
implementation("com.mapconductor:for-here")
}मैनिफेस्ट और प्रमाणीकरण विवरण सेट करें
HERE ID और Secret दोनों का उपयोग करता है। दोनों को प्लेसहोल्डर के माध्यम से पास करें।
<manifest>
<!-- Add internet and location permissions -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application>
<!-- HERE Access Key ID -->
<meta-data
android:name="HERE_ACCESS_KEY_ID"
android:value="${HERE_ACCESS_KEY_ID}" />
<!-- HERE Access Key Secret -->
<meta-data
android:name="HERE_ACCESS_KEY_SECRET"
android:value="${HERE_ACCESS_KEY_SECRET}" />
</application>
</manifest>HERE_ACCESS_KEY_ID=your_actual_here_access_key_id HERE_ACCESS_KEY_SECRET=your_actual_here_access_key_secret
जाँच
आपको क्या दिखना चाहिए
HERE का मानचित्र दिखाई देने पर पूर्ण हो गया।
@Composable
fun TestHere(modifier: Modifier = Modifier) {
val mapState = rememberHereMapViewState(
cameraPosition = MapCameraPosition(
position = GeoPoint(35.6762, 139.6503),
zoom = 12.0,
),
)
// If the map appears, the setup is correct.
HereMapView(modifier = modifier, state = mapState)
}मैप डिज़ाइन
HereMapDesign HERE के मानचित्र योजना के अनुरूप होता है। दिन/रात और रसद आदि के लिए, उपयोग-विशिष्ट शैलियाँ उपलब्ध हैं।
समस्या निवारण
मानचित्र लोड नहीं हो रहा है
- जांचें कि secrets.properties में Access Key ID और Secret सही हैं या नहीं।
- जांचें कि कुंजी मान्य (अक्षम नहीं) है या नहीं।
AAR नहीं मिला कहा जाता है
- जांचें कि AAR libs/ में है या नहीं।
- जांचें कि फ़ाइल नाम build.gradle.kts के विवरण से पूरी तरह मेल खाता है या नहीं (संस्करण संख्या सहित)।
बिल्ड पास नहीं हो रहा है
- जांचें कि मानचित्र SDK के निर्देशांक और संस्करण संस्करण कैटलॉग की विनिर्देश से मेल खाते हैं या नहीं।
- जांचें कि रिपॉजिटरी परिभाषा settings.gradle.kts में है या नहीं (repositoriesMode FAIL_ON_PROJECT_REPOS है, तो मॉड्यूल के repositories की उपेक्षा की जाती है)।
- यदि आप कई मानचित्र SDK एक साथ डाल रहे हैं, तो ./gradlew :app:dependencies से निर्भरता टकराव की जांच करें।
आगे
HereMapView आने पर, आप अन्य प्रदाताओं की तरह समान साझा API के साथ ओवरले ओवरलैप कर सकते हैं।