การเริ่มต้นใช้งาน Longdo Map SDK 3.x บน iOS - MetamediaTechnology/longdo-map-demo-ios GitHub Wiki
-
สร้าง Project ใหม่บนโปรแกรม XCode เลือก Single View Application
-
ตั้งค่าโปรเจกต์ตามที่ต้องการ
- บันทึกโปรเจกต์บนเครื่องคอมพิวเตอร์ในตำแหน่งที่ต้องการ
-
ทำการ Add Packages
- ไปที่เมนู Files และเลือก Add Packages...
- วางลิงก์ https://github.com/MetamediaTechnology/longdo-map-sdk-ios ลงที่ด้านบนขวาของหน้าต่างที่แสดงขึ้นมา
- Dependency Rules เลือก Up to Next Major Version
- คลิกปุ่ม Add Package
-
กรณีมีหลาย Target ให้ทำการเลือก Framework เพิ่มเติมในแต่ละ Target (หากมี Framework ปรากฏอยู่แล้วสามารถข้ามขั้นตอนนี้ไป)
- ไปที่แท็บ General ใน Project Settings
- คลิกปุ่มบวกด้านล่างในส่วนของ Frameworks, Libraries, and Embedded Content
- เลือก LongdoMapSDK จากหน้าต่างที่แสดงขึ้นมา แล้วคลิกปุ่ม Add
-
ไปที่ ViewController.swift
- import
LongdoMapSDK
- เพิ่ม
MKMapViewDelegate
ให้กับ class - สร้างตัวแปร
@IBOutlet weak var map: LongdoMapView!
import LongdoMapSDK class ViewController: UIViewController, MKMapViewDelegate { @IBOutlet weak var map: LongdoMapView!
- import
-
ไปที่ Main.storyboard ลาก UIView ไปที่ View Controller สำหรับแสดงผลแผนที่ กำหนด constraint ตามที่ต้องการให้เรียบร้อย
-
เลือกที่ View ที่จะใช้ในการแสดงแผนที่ แล้วไปที่ indentity inspector (ปุ่มที่ 3 ของแถบด้านขวา) เลือก Class เป็น LongdoMapView
-
กำหนดค่าใน Storyboard
- ไปที่ Connection Inspector (ปุ่มสุดท้ายของแถบด้านขวา) แล้วลากเม้าส์จากวงกลมของ New Referencing Outlet ไปที่ View Controller ทางด้านซ้าย แล้วปล่อยเม้าส์ จากนั้นเลือก map
- จาก Connection Inspector ลากเม้าส์จากวงกลมของ delegate ไปที่ View Controller ทางด้านซ้าย แล้วปล่อยเม้าส์
-
กลับไปที่ ViewController.swift แล้วเพิ่มคำสั่งต่อไปนี้ลงในส่วนของ
viewDidLoad()
//กรณีใช้ Online API map.setKey("LONGDO_MAP_DEMO_API_KEY") //กรณีใช้ Longdo Box (หากมี referer restrictions ให้เพิ่ม longdo://[bundleid] ในฝั่ง server เพิ่มเติม) map.boxDomain = URL(string: "https://yourdomain.com") map.add(LMLayer(mode: .POI))
โดยที่ LONGDO_MAP_DEMO_API_KEY คือ API Key ที่ได้รับมาจาก เว็บไซต์ Longdo Map
-
เพิ่ม function ด้านล่างลงใน class ViewController
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? { let annView = map.mapView(mapView, viewFor: annotation) //Developer additional code return annView } func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer { let overlayRenderer = map.mapView(mapView, rendererFor: overlay) //Developer additional code return overlayRenderer } func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool) { map.mapView(mapView, regionDidChangeAnimated: animated) //Developer additional code }
-
รัน Application (⌘+R) จะได้แผนที่ ใช้งานได้ดังภาพ