เอกสาร / การตั้งค่า / Android / Open Mobile Maps

การตั้งค่า Open Mobile Maps

ขั้นตอนการใช้ Open Mobile Maps (io.openmobilemaps:mapscore) ผ่าน MapConductor ไม่ต้องการคีย์ API

MODULE
com.mapconductor:for-openmobilemaps
API KEY
ไม่จำเป็น
VIEW
OpenMobileMapsMapView
TIME
10 นาที
ผู้ให้บริการเดียวกัน แพลตฟอร์มอื่นiOS

ก่อนเริ่ม

สภาพแวดล้อมการพัฒนา Android (Android Studio)
minSdk 28 ขึ้นไป
STEP 01

เพิ่มการพึ่งพา

Open Mobile Maps อยู่ใน Maven Central ไม่จำเป็นต้องเพิ่มแหล่งที่มา

app/build.gradle.ktsKotlin
dependencies {
    // Open Mobile Maps
    implementation("io.openmobilemaps:mapscore:4.0.0")

    // MapConductor BOM pins every module below
    implementation(platform("com.mapconductor:mapconductor-bom:1.3.1"))

    implementation("com.mapconductor:core")
    implementation("com.mapconductor:compose")
    implementation("com.mapconductor:for-openmobilemaps")
}
STEP 02

เพิ่มสิทธิ์

ต้องใช้เครือข่ายในการดึงไทล์ หากไม่ใช้ข้อมูลตำแหน่งเพียง INTERNET ก็เพียงพอ

AndroidManifest.xmlXML
<uses-permission android:name="android.permission.INTERNET" />
STEP 03

กำหนดแหล่งที่มาของไทล์

เนื่องจากไม่มีคีย์ คุณจะต้องกำหนดด้วยตนเองว่าจะดึงไทล์มาจากที่ใด เซิร์ฟเวอร์ไทล์อย่างเป็นทางการของ OpenStreetMap ไม่เหมาะสำหรับการใช้งานปกติในแอปตามนโยบายการใช้งาน ในการใช้งานจริง โปรดใช้การจัดส่งด้วยตนเองหรือแหล่งจัดส่งเชิงพาณิชย์

ตรวจสอบ

สิ่งที่ควรเห็น

แสดงแผนที่โดยมีโตเกียวเป็นศูนย์กลาง หากไทล์โหลดสำเร็จ ถือว่าเสร็จสิ้น

@Composable
fun TestOpenMobileMaps(modifier: Modifier = Modifier) {
    val mapState = rememberOpenMobileMapsMapViewState(
        mapDesign = OpenMobileMapsDesign.OpenStreetMap,
        cameraPosition = MapCameraPosition(
            position = GeoPoint(latitude = 35.6812, longitude = 139.7671),
            zoom = 11.0,
        ),
    )

    OpenMobileMapsMapView(state = mapState, modifier = modifier.fillMaxSize())
}

ดีไซน์แผนที่

Notes
OpenStreetMap
สไตล์มาตรฐานของ OpenStreetMap
OpenStreetMapJapan
การแสดงผลที่ปรับแต่งสำหรับญี่ปุ่น
OpenTopoMap
แผนที่ภูมิประเทศ

การแก้ปัญหา

แผนที่สีขาวทั้งหมดและไม่มีไทล์สักแผ่นเข้ามา

  • ผู้ให้บริการรายนี้ไม่มีคีย์ API ก่อนอื่นจะตรวจสอบว่าสามารถเข้าถึง URL สไตล์ที่ระบุได้หรือไม่
  • ตรวจสอบว่าอุปกรณ์สามารถเชื่อมต่อเครือข่ายได้หรือไม่

แหล่งที่มาของไทล์ตอบกลับด้วย 429 หรือ 403

  • เซิร์ฟเวอร์ไทล์อย่างเป็นทางการของ OpenStreetMap มีนโยบายการใช้งานและไม่ได้วางแผนไว้สำหรับการใช้งานปกติจากแอป ในการใช้งานจริง โปรดใช้การจัดส่งไทล์ด้วยตนเองหรือแหล่งจัดส่งเชิงพาณิชย์

ถัดไป

เครื่องหมาย เส้นประกอบ รูปหลายเหลี่ยม วงกลม ภาพพื้นดิน เลเยอร์แรสเตอร์ และ InfoBubble ยังคงใช้งานได้ผ่าน API ทั่วไป โค้ดด้านแอปจะไม่เปลี่ยนแปลงแม้จะสลับผู้ให้บริการ