เอกสาร / การตั้งค่า / iOS / Open Mobile Maps
การตั้งค่า Open Mobile Maps
ขั้นตอนการใช้ Open Mobile Maps (maps-core) ผ่าน MapConductor ติดตั้งด้วย Swift Package Manager ไม่ต้องใช้คีย์ API
MODULE
MapConductorForOpenMobileMaps
API KEY
ไม่จำเป็น
VIEW
OpenMobileMapsMapView
TIME
10 นาที
ผู้ให้บริการเดียวกัน แพลตฟอร์มอื่นAndroid
ก่อนเริ่ม
Xcode 15 ขึ้นไป
แอปที่กำหนดเป้าหมายเป็น iOS 16.0 ขึ้นไป
STEP 01
เพิ่มแพ็กเกจ
เพิ่มโมดูล maps-core และ MapConductor ด้วย Swift Package Manager
Package.swiftSwift
dependencies: [
.package(url: "https://github.com/openmobilemaps/maps-core", from: "4.0.0"),
.package(url: "https://github.com/MapConductor/ios-sdk-core", from: "1.3.1"),
.package(url: "https://github.com/MapConductor/ios-for-openmobilemaps", from: "1.0.0"),
]STEP 02
กำหนดแหล่งที่มาของไทล์
เนื่องจากไม่มีคีย์ คุณจึงต้องเลือกด้วยตนเองว่าจะดึงไทล์จากที่ใด เซิร์ฟเวอร์ไทล์อย่างเป็นทางการของ OpenStreetMap ไม่เหมาะสำหรับการใช้งานถาวรจากแอปตามนโยบายการใช้งาน ในการใช้งานจริง โปรดใช้การเผยแพร่ด้วยตนเองหรือแหล่งจำหน่ายเชิงพาณิชย์
ตรวจสอบ
สิ่งที่ควรเห็น
แสดงแผนที่โดยมีโตเกียวเป็นศูนย์กลาง เมื่อโหลดไทล์ได้แล้วถือว่าเสร็จสิ้น
import SwiftUI
import MapConductorCore
import MapConductorForOpenMobileMaps
struct TestOpenMobileMaps: View {
@StateObject private var state = OpenMobileMapsViewState(
cameraPosition: MapCameraPosition(
position: GeoPoint(latitude: 35.6812, longitude: 139.7671),
zoom: 11
)
)
var body: some View {
OpenMobileMapsMapView(state: state)
}
}ดีไซน์แผนที่
Notes
OpenStreetMap
สไตล์มาตรฐานของ OpenStreetMap
OpenStreetMapJapan
ปรับเป็นรูปแบบที่เหมาะกับญี่ปุ่น
OpenTopoMap
แผนที่ภูมิประเทศ
การแก้ปัญหา
แผนที่สีขาวโพลน ไม่มีไทล์ใดๆ เลย
- ผู้ให้บริการรายนี้ไม่มีคีย์ API ก่อนอื่นให้ตรวจสอบว่าสามารถเข้าถึง URL สไตล์ที่ระบุได้หรือไม่
- ตรวจสอบว่าอุปกรณ์สามารถเข้าถึงเครือข่ายได้หรือไม่
แหล่งที่มาของไทล์ส่งคืน 429 หรือ 403
- เซิร์ฟเวอร์ไทล์อย่างเป็นทางการของ OpenStreetMap มีนโยบายการใช้งาน และไม่รองรับการใช้งานถาวรจากแอป ในการใช้งานจริง โปรดใช้การเผยแพร่ไทล์ด้วยตนเองหรือแหล่งจำหน่ายเชิงพาณิชย์
ถัดไป
เครื่องหมาย เส้นโค้ง รูปหลายเหลี่ยม วงกลม GroundImage เลเยอร์แรสเตอร์ และ InfoBubble ยังคงใช้งานได้ผ่าน API ทั่วไป