เอกสาร / การตั้งค่า / Android / Longdo
การตั้งค่า Longdo
ขั้นตอนการใช้ Longdo Map API3 SDK จาก MapConductor เป็นผู้ให้บริการที่เข้มแข็งด้านแผนที่ประเทศไทย รับจาก Maven Repository ของ Longdo
MODULE
com.mapconductor:for-longdo
API KEY
จำเป็น
VIEW
LongdoMapView
TIME
15 นาที
ก่อนเริ่ม
สภาพแวดล้อมการพัฒนา Android (Android Studio)
คีย์ API ที่ออกโดย Longdo Map Console
STEP 01
รับคีย์ API
ออกคีย์ใน Longdo Map Console SDK จะส่งชื่อแพ็กเกจของแอปเพื่อการตรวจสอบ ดังนั้นจำเป็นต้องลงทะเบียนคีย์โดยเชื่อมโยงกับชื่อแพ็กเกจนั้น
STEP 02
เพิ่มที่เก็บของ Longdo
settings.gradle.ktsKotlin
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
// Longdo Map API3 SDK repository
maven {
url = uri("https://maven.longdo.com/artifactory/libs-release-public")
}
}
}STEP 03
เพิ่มการพึ่งพา
app/build.gradle.ktsKotlin
dependencies {
// Longdo Map API3 SDK
implementation("com.longdo.map:sdk3:1.3.0")
// MapConductor BOM pins every module below
implementation(platform("com.mapconductor:mapconductor-bom:1.3.1"))
implementation("com.mapconductor:core")
implementation("com.mapconductor:for-longdo")
}STEP 04
ส่งคีย์ API
โมดูลจะอ่าน longdo.map.key จาก Manifest สามารถตั้งค่าจากโค้ดได้
AndroidManifest.xmlXML
<manifest>
<uses-permission android:name="android.permission.INTERNET" />
<application>
<meta-data
android:name="longdo.map.key"
android:value="${LONGDO_API_KEY}" />
</application>
</manifest>MainActivity.ktKotlin
// Alternative: set it in code before the first map is shown com.longdo.sdk3.LongdoMap.API_KEY = "YOUR_LONGDO_API_KEY"
ข้อควรระวัง
อย่า commit secrets.properties ลงในการควบคุมเวอร์ชัน การเพิ่มลงใน .gitignore จะช่วยป้องกันอุบัติเหตุ ใน CI จะส่งผ่านช่องทางที่ปลอดภัยอื่น เช่น ตัวแปรสภาพแวดล้อม
ตรวจสอบ
สิ่งที่ควรเห็น
เสร็จสิ้นเมื่อแผนที่ปรากฏโดยมีกรุงเทพฯ เป็นศูนย์กลาง
TestLongdo.ktJetpack Compose
@Composable
fun TestLongdo(modifier: Modifier = Modifier) {
val mapState = rememberLongdoMapViewState(
mapDesign = LongdoDesign.Normal,
cameraPosition = MapCameraPosition(
position = GeoPoint(13.7563, 100.5018),
zoom = 12.0,
),
)
LongdoMapView(
state = mapState,
modifier = modifier,
onMapLoaded = { /* map ready */ },
onMapClick = { point -> /* tapped at point */ },
)
}ดีไซน์แผนที่
LongdoDesign รองรับเลเยอร์ฐานของ Longdo
LongdoDesign
Notes
Normal / Easy / Political
สไตล์มาตรฐาน
Pastel / PastelGray / Light / Gray
สไตล์สีอ่อน
Night / Dark / Hard
โหมดมืด / คอนทราสต์สูง
Satellite / Hybrid
ภาพดาวเทียมและไฮบริด
Osm
พื้นฐาน OpenStreetMap
การแก้ปัญหา
แผนที่ไม่ปรากฏ
- ตรวจสอบใน Console ว่าคีย์ถูกเชื่อมโยงกับชื่อแพ็กเกจของแอปหรือไม่ SDK จะส่งชื่อแพ็กเกจเพื่อตรวจสอบ
- ตรวจสอบว่ามีสิทธิ์ INTERNET หรือไม่
บิลด์ไม่ผ่าน
- ตรวจสอบว่าพิกัดและเวอร์ชันของ Map SDK ตรงกับที่ระบุใน Version Catalog หรือไม่
- ตรวจสอบว่ามีการกำหนด Repository ใน settings.gradle.kts หรือไม่ (หาก repositoriesMode เป็น FAIL_ON_PROJECT_REPOS repositories ฝั่งโมดูลจะถูกมองข้าม)
- หากมี Map SDK หลายตัวพร้อมกัน ให้ตรวจสอบข้อขัดแย้งของการพึ่งพาด้วย ./gradlew :app:dependencies
ถัดไป
เครื่องหมาย เส้นโค้ง รูปหลายเหลี่ยม วงกลม ภาพฐาน เลเยอร์แรสเตอร์ และ InfoBubble ใช้งานได้ด้วย API ร่วมกันทั้งหมด เนื่องจาก Android SDK ของ Longdo มีการกำหนดค่าให้ทำงาน Longdo Map JS API3 ใน WebView รูปทรงจะถูกเพิ่มลงใน MapLibre GL ภายในเป็น GeoJSON source และ fill/line layer Hit test จะดูแลโดยการตรวจจับรองรับ Geodesic ฝั่ง Core