[3.x] การค้นหาสถานที่และเส้นทาง - MetamediaTechnology/longdo-map-demo-ios GitHub Wiki
การแสดงคำแนะนำสถานที่
-
สร้างตัวแปรชนิด
LMSuggestOptions
และกำหนดขอบเขตการแสดงคำแนะนำที่ต้องการlet options = LMSuggestOptions() options.limit = 20 //จำนวนผลการค้นหา
-
กำหนดคำค้นหา ขอบเขตการค้นหา และฟังก์ชั่นสำหรับจัดการผลลัพธ์ซึ่งจะคืนมาในรูปแบบแถวลำดับของ String ลงในฟังก์ชั่น
suggestKeyword
จากตัวอย่างเป็นการแสดงคำแนะนำด้วยคำว่าbank
โดยสมมติให้ตัวแปร LongdoMapView ชื่อmap
map.suggestKeyword("bank", with: options, result: { keyword, error in if let suggest = keyword { print(suggest) } else { print(error ?? "no result") } })
การค้นหาสถานที่
-
สร้างตัวแปรชนิด
LMSearchOptions
และกำหนดขอบเขตการค้นหาที่ต้องการlet options = LMSearchOptions() options.location = map.centerCoordinate //ศูนย์กลางการค้นหา options.span = "100km" //ระยะการค้นหา options.limit = 20 //จำนวนผลการค้นหา
-
กำหนดคำค้นหา ขอบเขตการค้นหา และฟังก์ชั่นสำหรับจัดการผลลัพธ์ซึ่งจะคืนมาในรูปแบบแถวลำดับของ LMPinAnnotation ลงในฟังก์ชั่น
searchKeyword
จากตัวอย่างเป็นการค้นหาสถานที่ด้วยคำว่าbank
โดยสมมติให้ตัวแปร LongdoMapView ชื่อmap
map.searchKeyword("bank", with: options, result: { poi, error in if let pin = poi { DispatchQueue.main.async { self.map.addAnnotations(pin) //ปักหมุดลงบนแผนที่ } } else { print(error ?? "no result") } })
การค้นหาเส้นทาง
-
สร้างตัวแปรชนิด
LMRouteOptions
และกำหนดขอบเขตการค้นหาที่ต้องการlet options = LMRouteOptions() options.location = .MINIMUM_DISTANCE //เลือกเส้นทางที่ใกล้ที่สุด options.allowedFerry = false //เลี่ยงการขึ้นเรือ options.allowedTollway = false //เลี่ยงทางด่วน
-
กำหนดจุดเริ่มต้น สิ้นสุด ขอบเขตการค้นหา และฟังก์ชั่นสำหรับจัดการผลลัพธ์ซึ่งจะคืนมาในรูปแบบของ
LMRouteResult
ลงในฟังก์ชั่นroute
จากตัวอย่างเป็นการค้นหาเส้นทางจากตำแหน่งปัจจุบันถึงจุดศูนย์กลางของแผนที่ โดยสมมติให้ตัวแปร LongdoMapView ชื่อmap
map.route(from: map.userLocation.coordinate, to: map.centerCoordinate, with: options, result: {route, error in DispatchQueue.main.async { for guide in route?.guide ?? [] { self.map.addOverlay(guide.path) //วาดเส้นทางลงบนแผนที่ } } if let err = error { print(err) } })
การกำหนดภาษาของผลลัพธ์
map.language = LMLanguage.THAI
เป็นการกำหนดให้ผลลัพธ์ที่เรียกผ่าน LongdoMapView ชื่อ map
หลังจากคำสั่งนี้ใช้ภาษาไทยในการแสดงผล