การเริ่มต้นใช้งาน Longdo Map SDK 3.x บน iOS - MetamediaTechnology/longdo-map-demo-ios GitHub Wiki

  1. สร้าง Project ใหม่บนโปรแกรม XCode เลือก Single View Application

  2. ตั้งค่าโปรเจกต์ตามที่ต้องการ

    • บันทึกโปรเจกต์บนเครื่องคอมพิวเตอร์ในตำแหน่งที่ต้องการ
  3. ทำการ Add Packages

    • ไปที่เมนู Files และเลือก Add Packages...
    • วางลิงก์ https://github.com/MetamediaTechnology/longdo-map-sdk-ios ลงที่ด้านบนขวาของหน้าต่างที่แสดงขึ้นมา
    • Dependency Rules เลือก Up to Next Major Version
    • คลิกปุ่ม Add Package

    Add Packages

  4. กรณีมีหลาย Target ให้ทำการเลือก Framework เพิ่มเติมในแต่ละ Target (หากมี Framework ปรากฏอยู่แล้วสามารถข้ามขั้นตอนนี้ไป)

    • ไปที่แท็บ General ใน Project Settings
    • คลิกปุ่มบวกด้านล่างในส่วนของ Frameworks, Libraries, and Embedded Content
    • เลือก LongdoMapSDK จากหน้าต่างที่แสดงขึ้นมา แล้วคลิกปุ่ม Add

    Frameworks, Libraries, and Embedded Content LongdoMapSDK

  5. ไปที่ ViewController.swift

    • import LongdoMapSDK
    • เพิ่ม MKMapViewDelegate ให้กับ class
    • สร้างตัวแปร @IBOutlet weak var map: LongdoMapView!
    import LongdoMapSDK
    
    class ViewController: UIViewController, MKMapViewDelegate {
        @IBOutlet weak var map: LongdoMapView!
    
  6. ไปที่ Main.storyboard ลาก UIView ไปที่ View Controller สำหรับแสดงผลแผนที่ กำหนด constraint ตามที่ต้องการให้เรียบร้อย

  7. เลือกที่ View ที่จะใช้ในการแสดงแผนที่ แล้วไปที่ indentity inspector (ปุ่มที่ 3 ของแถบด้านขวา) เลือก Class เป็น LongdoMapView

    Screen Shot 2015-08-13 at 2.33.28 PM

  8. กำหนดค่าใน Storyboard

    • ไปที่ Connection Inspector (ปุ่มสุดท้ายของแถบด้านขวา) แล้วลากเม้าส์จากวงกลมของ New Referencing Outlet ไปที่ View Controller ทางด้านซ้าย แล้วปล่อยเม้าส์ จากนั้นเลือก map
    • จาก Connection Inspector ลากเม้าส์จากวงกลมของ delegate ไปที่ View Controller ทางด้านซ้าย แล้วปล่อยเม้าส์

    Screen Shot 2015-08-13 at 2.34.39 PM

  9. กลับไปที่ 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

  10. เพิ่ม 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
    }
    
  11. รัน Application (⌘+R) จะได้แผนที่ ใช้งานได้ดังภาพ

    Screen Shot 2015-08-13 at 2.36.55 PM

    ดูตัวอย่างโปรแกรมที่เสร็จแล้ว