MM Route API
Initialize
init(map, instruction)
เรียกใช้งาน MM Route API
Parameters:
map - MMMap object (Optional)
instruction - DIV element สำหรับแสดงข้อมูลการเดินทาง (Optional)
Event
onHasInstruction()
ถูกเรียกเมื่อได้รับข้อมูลการเดินทาง
onHasRoute()
ถูกเรียกเมื่อได้รับเส้นทาง
onDestinationClick(event)
ถูกเรียกเมื่อจุดหมายถูกคลิก โดยปกติจะแสดงเมนูสำหรับลบจุดหมาย
Parameters:
event - Event object จาก browser
onDestinationMoved(event)
ถูกเรียกเมื่อจุดหมายถูกเคลื่อนย้าย
Parameters:
event - Event object จาก browser
Mutator
setInstructionDiv(div)
กำหนด DIV element สำหรับแสดงข้อมูลการเดินทาง
Parameters:
div - DIV element สำหรับแสดงข้อมูลการเดินทาง
setRouteColor(color)
กำหนดสีของเส้นถนน
Parameters:
color - รหัสสี ในรูปแบบ '#RRGGBB' (Default: '#FF00FF' - Margenta)
setHighlightRouteColor(color)
กำหนดสีของเส้นถนนที่ถูกเลือก
Parameters:
color - รหัสสี ในรูปแบบ '#RRGGBB' (Default: '#0000FF' - Blue)
setStatic(mode)
กำหนดว่าจะให้เปลี่ยนแปลงเส้นทางด้วยการลากไม่ได้ และไม่แสดงเมนูคำสั่งเหนือข้อมูลการเดินทางหรือไม่
คำสั่งนี้จะไม่มีผลต่อเส้นทาง และข้อมูลการเดินทางที่แสดงอยู่แล้ว
Parameters:
mode - true ถ้าต้องการให้เปลี่ยนแปลงเส้นทางไม่ได้, false ถ้าไม่ต้องการ (Default: false)
setShowPointer(mode)
กำหนดว่าจะให้เปลี่ยนแปลงเส้นทางด้วยการลากได้หรือไม่
คำสั่งนี้จะไม่มีผลต่อเส้นทาง และข้อมูลการเดินทางที่แสดงอยู่แล้ว
Parameters:
mode - true ถ้าต้องการให้เปลี่ยนแปลงเส้นทางได้, false ถ้าไม่ต้องการ (Default: true)
setAutoSearch(mode)
กำหนดว่าจะให้หาเส้นทางใหม่โดยอัตโนมัติหรือไม่เมื่อจุดหมายเปลี่ยน
หากไม่ให้หาเส้นทางใหม่โดยอัตโนมัติ เมื่อแก้ไขจุดหมาย ระบบจะยังคงแสดงเส้นทางเดิมอยู่
Parameters:
mode - true ถ้าต้องการให้หาเส้นทางใหม่โดยอัตโนมัติ, false ถ้าไม่ต้องการ (Default: true)
setSearchMode(mode)
กำหนด algorithm ในการหาเส้นทาง
Parameters:
mode - รหัสของ algorithm (ดูเพิ่มเติมที่หัวข้อ Search Mode) (Default: 't' - traffic)
setSearchType(type, value)
กำหนดว่าให้ใช้พาหนะในค่า type ในการหาเส้นทางหรือไม่
Parameters:
type - รหัสของพาหนะ (ดูเพิ่มเติมที่หัวข้อ Search Type) หรือใส่ 'all' ถ้าต้องการตั้งค่าสำหรับทุกพาหนะ
value - true ถ้าต้องการให้ใช้พาหนะในค่า type ได้, false ถ้าไม่ต้องการ (Default: true ทุกพาหนะ)
setDebug(mode)
กำหนดว่าจะให้แสดง debug information หรือไม่
Parameters:
mode - true ถ้าต้องการให้แสดง, false ถ้าไม่ต้องการ (Default: false)
setRouteVisible(isVisible)
กำหนดว่าจะให้แสดงเส้นทางที่หาได้บนแผนที่หรือไม่
Parameters:
isVisible - true ถ้าต้องการให้แสดง, false ถ้าไม่ต้องการ (Default: true)
setShowDistance(mode)
กำหนดว่าจะให้แสดงระยะทางหรือไม่
Parameters:
mode - true ถ้าต้องการให้แสดง, false ถ้าไม่ต้องการ (Default: true)
setShowCumulativeDistance(mode)
กำหนดว่าจะให้แสดงระยะทางรวมหรือไม่
Parameters:
mode - true ถ้าต้องการให้แสดง, false ถ้าไม่ต้องการ (Default: true)
setUsePOIName(mode)
กำหนดว่าจะให้ใช้ชื่อสถานที่ใกล้เคียงเป็นชื่อจุดหมายหรือไม่
Parameters:
mode - true ถ้าต้องการให้แสดง, false ถ้าไม่ต้องการ (Default: true)
setDestinationImage(imgPre, offsetX, offsetY, count)
กำหนดภาพ และจำนวนจุดหมาย
url ของภาพที่ถูกเรียกจะอยู่ในรูปแบบ imgPre#.png โดย # คือ ตัวเลขตั้งแต่ 0 แต่ไม่เกิน count สำหรับ browser ที่ไม่สนับสนุนภาพแบบ png ภาพ imgPre#.gif จะถูกเรียกใช้แทน
คำสั่งนี้จะไม่มีผลต่อจุดหมายที่แสดงอยู่แล้ว
Parameters:
imgPre - ส่วนต้นของ url ของภาพ
offsetX - ตำแหน่งปลายของภาพในแกน X
offsetY - ตำแหน่งปลายของภาพในแกน Y
count - จำนวนจุดหมายที่มี (Default: 10)
setTrackerImage(imgPre, offsetX, offsetY)
กำหนดภาพ Tracker
url ของภาพที่ถูกเรียกจะอยู่ในรูปแบบ imgPre#.png โดย # คือ ตัวเลขตั้งแต่ 0 - 8 สำหรับ browser ที่ไม่สนับสนุนภาพแบบ png ภาพ imgPre#.gif จะถูกเรียกใช้แทน
Parameters:
imgPre - ส่วนต้นของ url ของภาพ
offsetX - ตำแหน่งปลายของภาพในแกน X
offsetY - ตำแหน่งปลายของภาพในแกน Y
ค่า #:
0 - ภาพขณะหยุดนิ่ง
1 - ภาพขณะหันไปทางทิศตะวันออก
2 - ภาพขณะหันไปทางทิศตะวันออกเฉียงเหนือ
3 - ภาพขณะหันไปทางทิศเหนือ
4 - ภาพขณะหันไปทางทิศตะวันตกเฉียงเหนือ
5 - ภาพขณะหันไปทางทิศตะวันตก
6 - ภาพขณะหันไปทางทิศตะวันตกเฉียงใต้
7 - ภาพขณะหันไปทางทิศใต้
8 - ภาพขณะหันไปทางทิศตะวันออกเฉียงใต้
setPointerImage(imgPre, offsetX, offsetY)
กำหนดภาพ Pointer
url ของภาพที่ถูกเรียกจะอยู่ในรูปแบบ imgPre.png สำหรับ browser ที่ไม่สนับสนุนภาพแบบ png ภาพ imgPre.gif จะถูกเรียกใช้แทน
Parameters:
imgPre - ส่วนต้นของ url ของภาพ
offsetX - ตำแหน่งปลายของภาพในแกน X
offsetY - ตำแหน่งปลายของภาพในแกน Y
getTotalDistance(isFormat)
คืนค่าระยะทางทั้งหมดของเส้นทางที่หาได้
Parameters:
isFormat - true ถ้าต้องการให้คืนค่าเป็นข้อความในหน่วย เมตร หรือ กิโลเมตร ตามระยะทาง, false ถ้าต้องการให้คืนค่าเป็นตัวเลขในหน่วย เมตร
Return:
ระยะทางทั้งหมดของเส้นทางที่หาได้ โดยจัดรูปแบบตาม parameter isFormat
getTotalTime(isFormat)
คืนค่าเวลาที่ใช้เดินทางของเส้นทางที่หาได้
Parameters:
isFormat - true ถ้าต้องการให้คืนค่าเป็นข้อความในหน่วย นาที หรือ ชั่วโมง ตามเวลา, false ถ้าต้องการให้คืนค่าเป็นตัวเลขในหน่วย วินาที
Return:
ระยะทางทั้งหมดของเส้นทางที่หาได้ โดยจัดรูปแบบตาม parameter isFormat
getInstruction(isFormat)
คืนค่าข้อมูลการเดินทาง
Parameters:
isFormat - true ถ้าต้องการให้มีจัดรูปแบบ, false ถ้าไม่ต้องการ
Return:
ข้อมูลการเดินทาง โดยจัดรูปแบบตาม parameter isFormat
getDestination(index)
คืนค่าละติจูด, ลองจิจูด ของจุดหมาย และชื่อสถานที่ใกล้เคียง
Parameters:
index - ลำดับของจุดหมาย
Return:
object ที่ประกอบด้วย ค่า lat - ละติจูด, lon - ลองจิจูด และ name - ชื่อสถานที่ใกล้เคียง
Method
useDefaultRightClickMenu()
ใส่คำสั่งของ MMRoute ใน menu เมื่อ click ขวา ให้ใช้คำสั่งนี้ในกรณีที่ไม่ต้องการเพิ่มคำสั่งอื่นๆอีกใน menu เมื่อ click ขวา
addDestination(lat, lon)
เพิ่มจุดหมายต่อจากจุดหมายสุดท้าย
Parameters:
lat - latitude ของจุดหมาย
lon - longitude ของจุดหมาย
Return:
true ถ้าเพิ่มจุดหมายสำเร็จ, false ถ้าไม่สำเร็จ
insertDestination(index, lat, lon)
แทรกจุดหมายในตำแหน่งที่กำหนด
Parameters:
index - ตำแหน่งของจุดหมายที่ต้องการแทรก โดยจุดเริ่มต้นเป็นตำแหน่งที่ 0
lat - latitude ของจุดหมาย
lon - longitude ของจุดหมาย
Return:
true ถ้าแทรกจุดหมายสำเร็จ, false ถ้าไม่สำเร็จ
removeDestination(index)
ลบจุดหมายในตำแหน่งที่กำหนด
Parameters:
index - ตำแหน่งของจุดหมายที่ต้องการลบ โดยจุดเริ่มต้นเป็นตำแหน่งที่ 0
reverseDestination()
กลับทิศทางการเดินทาง
searchRoute()
ค้นหาเส้นทาง ตามจุดหมายที่กำหนด
Return:
true ถ้าส่งคำสั่งค้นหาสำเร็จ (ซึ่งอาจจะพบเส้นทางหรือไม่ก็ได้), false ถ้าไม่สำเร็จ
clearRoute()
สบเส้นทางที่แสดงบนแผนที่
clearInstruction()
ลบข้อมูลการเดินทาง
clearDestination()
ลบจุดหมายทั้งหมด
allClear()
ลบเส้นทางที่แสดงบนแผนที่, ข้อมูลการเดินทาง และจุดหมายทั้งหมด
animate(speed)
แสดงการเดินทางบนเส้นทาง
Parameters:
speed - ความเร็วที่ใช้เดินทางในหน่วย milli-degree/s (ประมาณ 100m/s) หากไม่กำหนดความเร็วจะถูกกำหนดโดยอัตโนมัติ
Return:
true ถ้าแสดงการเดินทางได้, false ถ้าไม่สามารถแสดงได้
stopAnimate()
หยุดการเดินทางบนเส้นทาง
toggleAnimate()
แสดงหรือหยุดการเดินทางบนเส้นทาง โดยใช้ความเร็วจะถูกกำหนดโดยอัตโนมัติ
zoomAllRoute()
เลือนแผนที่เพื่อให้สามารถเห็นเส้นทางทั้งหมด
showAbout()
แสดงข้อความเกี่ยวกับบริการนี้ใน DIV element สำหรับแสดงข้อมูลการเดินทาง
exportRouteLine(color)
สร้างเส้นถนนที่กำลังแสดงผลอยู่ขึ้นมาใหม่
Parameters:
color - สีของเส้น ถ้าไม่กำหนดจะใช้สีที่แสดงอยู่ (Optional)
Return:
RESTful API
Route API
ผู้ใช้งานสามารถดึงข้อมูลการเดินทางโดยไม่ผ่าน Javascript API ได้ที่ URL
http://mmmap15.longdo.com/mmroute/GetRoute
โดยระบุ query string ดังนี้
- fnode - จุดเริ่มต้น ในรูปแบบ latitude+longitude
- tnode - จุดหมาย ในรูปแบบ latitude+longitude
- mode - รหัสของ algorithm ในการหาเส้นทาง (ดูเพิ่มเติมที่หัวข้อ Search Mode)
- type - รหัสของพาหนะ (ดูเพิ่มเติมที่หัวข้อ Search Type)
- locale - รหัสของภาษาที่ต้องการ (ดูเพิ่มเติมที่หัวข้อ Locale Code)
- key - key ชอง MM Route API
- var - ชื่อตัวแปรที่เก็บผลการค้นหา (optional - ถ้าต้องการผลในรูปแบบ JSONP)
- callback - คำสั่งที่จะให้เรียกเมื่อได้รับผลการค้นหา (optional - ถ้าต้องการผลในรูปแบบ JSONP)
เช่น
http://mmmap15.longdo.com/mmroute/GetRoute?fnode=13.0+100.0&tnode=14.0+101.0&mode=t&type=17 &locale=th&key=[your key]&var=result&callback=runme()
Route API Result
ผลการค้นหา จาก Route API จะอยู่ในรูปแบบ JSONP ดังนี้
var=[fdistance,tdistance,id,time,road1, ... ,roadN];callback();
- var - ชื่อตัวแปรที่เก็บผลการค้นหา
- callback - คำสั่งที่จะให้เรียกเมื่อได้รับผลการค้นหา
- fdistance (ตัวแปรที่ 0) - ระยะทางจากจุดเริ่มต้นมายังถนนต้นทาง ในหน่วยเมตร
- tdiatance (ตัวแปรที่ 1) - ระยะทางจากถนนปลายทางมายังจุดหมาย ในหน่วยเมตร
- id (ตัวแปรที่ 2) - รหัสสำหรับดึงข้อมูลเส้นทาง
- time (ตัวแปรที่ 3) - เวลาที่ใช้เดินทางโดยประมาณ ในหน่วยวินาที
- road1..N (ตัวแปรที่ 4 เป็นต้นไป) - ถนนที่เดินทางผ่าน ในรูปแบบ
- name (ตัวแปร n) - ชื่อถนน
- turncode (ตัวแปร t) - รหัสของทิศทางการเดินทาง (ดูเพิ่มเติมที่หัวข้อ Turn Code)
- distance (ตัวแปร d) - ระยะทาง ในหน่วยเมตร
- interval (ตัวแปร i) - เวลา ในหน่วยวินาที
{"n":"name","t":turncode,"d":distance,"i":interval}
เช่น
result=[74.03608,51.125156,777,10765,{"n":"ถนนเชื่อมต่อ","t":4,"d":861,"i":105},
...
,{"n":"ถนนเชื่อมต่อ","t":1,"d":4635,"i":565}];runme();
หากเกิดปัญหา จะส่ง error code มาในค่า var ดังนี้
- 400 - Invalid position
- 404 - Route not found
Geometry API
ผู้ใช้งานสามารถดึงข้อมูลเส้นทางเพิ่มเติมได้ที่ URL
http://mmmap15.longdo.com/mmroute/GetGeom
โดยระบุ query string ดังนี้
- id - รหัสข้อมูลเส้นทาง (ดูเพิ่มเติมที่หัวข้อ Route API Result)
- level - ระดับความละเอียด (0 - หยาบ, 1 - ปานกลาง, 2 - ละเอียด)
- key - key ชอง MM Route API
- var - ชื่อตัวแปรที่เก็บผลการค้นหา (optional - ถ้าต้องการผลในรูปแบบ JSONP)
- callback - คำสั่งที่จะให้เรียกเมื่อได้รับผลการค้นหา (optional - ถ้าต้องการผลในรูปแบบ JSONP)
เช่น
http://mmmap15.longdo.com/mmroute/GetRoute?id=555&level=0&key=[your key]&var=result &callback=runme()
Geometry API Result
ผลการค้นหา จาก Geometry API จะอยู่ในรูปแบบ JSONP ดังนี้
var=[road1, ... ,roadN];callback();
- var - ชื่อตัวแปรที่เก็บผลการค้นหา
- callback - คำสั่งที่จะให้เรียกเมื่อได้รับผลการค้นหา
- road1..N - ถนนที่เดินทางผ่าน ในรูปแบบ
- [location1, ... ,locationN]
- location1..N - พิกัดในรูปแบบ [longitude,latitude]
- [location1, ... ,locationN]
เช่น
result=[[[99.9996,12.9994],[99.9897,13.0105]], ... ,[[100.9605,13.9962],[101.0004,14.0000]]];runme();
หากเกิดปัญหา จะส่ง null มาในค่า var
Etc.
Search Mode
- t (traffic)
เดินทางไปตามถนนหลักโดยพยายามหลบรถติด
- c (cost)
เดินทางไปตามถนนหลัก
- d (distance)
พยายามลัดเข้าซอยเพิ่อให้ใช้ระยะทางสั้นที่สุด
Search Type
- road (1)
ถนน
- air (2)
เครื่องบิน
- rail (4)
รถไฟ
- ferry (8)
เรืือ
- toll (16)
ทางด่วน
หากใช้ Javascript API ให้ใช้ค่า type เป็นชื่อประเภทพาหนะ เช่น 'road'
หากใช้ RESTful API ให้นำค่าในวงเล็บของทุกพาหนะมา OR กัน เช่น การเดินทางทางถนนและทางด่วนคือ 1 | 16 = 17
Locale Code
- th - ภาษาไทย (Default)
- en - english
- ja - 日本語
Turn Code
- 0 - เลี้ยวซ้าย
- 1 - เลี้ยวขวา
- 2 - เบี่ยงซ้าย
- 3 - เบี่ยงขวา
- 4 - ไม่มีข้อมูล
- 5 - ตรงไป
- 6 - เดินทางด้วยเครื่องบิน
- 7 - เดินทางด้วยรถไฟ
- 8 - เดินทางด้วยเรือ
- 9 - จบการเดินทางด้วยเครื่องบิน/รถไฟ
- 10 - เข้าสู่ทางพิเศษ
- 5289 reads
