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
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)
setAutoSearch(mode)
กำหนดว่าจะให้หาเส้นทางใหม่โดยอัตโนมัติหรือไม่เมื่อจุดหมายเปลี่ยน
หากไม่ให้หาเส้นทางใหม่โดยอัตโนมัติ เมื่อแก้ไขจุดหมาย ระบบจะยังคงแสดงเส้นทางเดิมอยู่
Parameters:
mode - true ถ้าต้องการให้หาเส้นทางใหม่โดยอัตโนมัติ, false ถ้าไม่ต้องการ (Default: true)
setSearchMode(mode)
กำหนด algorithm ในการหาเส้นทาง
Parameters:
mode - รหัสของ algorithm (ดูเพิ่มเติมที่หัวข้อ Search Mode) (Default: 'tb' - traffic / bound)
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:
Etc.
Search Mode
- tb - traffic / bound (Default)
เดินทางไปตามถนนหลักโดยพยายามหลบรถติด / ค้นหาแบบจำกัดขอบเขต
- xb - no express / bound
เดินทางไปตามถนนหลักโดยพยายามหลบรถติดแต่ไม่ขึ้นทางด่วน / ค้นหาแบบจำกัดขอบเขต
- cb - cost / bound
เดินทางไปตามถนนหลัก / ค้นหาแบบจำกัดขอบเขต
- db - distance / bound
พยายามลัดเข้าซอยเพิ่อให้ใช้ระยะทางสั้นที่สุด / ค้นหาแบบจำกัดขอบเขต
- ta - traffic
เดินทางไปตามถนนหลักโดยพยายามหลบรถติด
- xa - no express
เดินทางไปตามถนนหลักโดยพยายามหลบรถติดแต่ไม่ขึ้นทางด่วน
- ca - cost
เดินทางไปตามถนนหลัก
- da - distance
พยายามลัดเข้าซอยเพิ่อให้ใช้ระยะทางสั้นที่สุด
Query String
ผู้ใช้งานสามารถส่งคำสั่งไปยัง server โดยตรงไม่ผ่าน API ได้ที่ URL
http://mmmap15.longdo.com/mmroute/GetRoute
โดยระบุ query string ดังนี้
- fnode - จุดเริ่มต้น ในรูปแบบ latitude+longitude
- tnode - จุดหมาย ในรูปแบบ latitude+longitude
- mode - รหัสของ algorithm ในการหาเส้นทาง (ดูเพิ่มเติมที่หัวข้อ Search Mode)
- locale - รหัสของภาษาที่ต้องการ (ดูเพิ่มเติมที่หัวข้อ Locale Code)
- key - key ชอง MM Route API
- var - ชื่อตัวแปรที่เก็บผลการค้นหา
- callback - คำสั่งที่จะให้เรียกเมื่อได้รับผลการค้นหา
เช่น
http://mmmap15.longdo.com/mmroute/GetRoute?fnode=13.0+100.0&tnode=14.0+101.0&mode=tb&locale=th &key=fedcba98765432100123456789abcdef&var=result&callback=runme()
Return Script
ผลการค้นหา จากการใช้ query string จะอยู่ในรูปแบบดังนี้
var=[fdistance,tdistance,id,time,road1, ... ,roadN];callback();
- var - ชื่อตัวแปรที่เก็บผลการค้นหา
- callback - คำสั่งที่จะให้เรียกเมื่อได้รับผลการค้นหา
- fdistance (ตัวแปรที่ 0) - ระยะทางจากจุดเริ่มต้นมายังถนนต้นทาง ในหน่วยเมตร
- tdiatance (ตัวแปรที่ 1) - ระยะทางจากถนนปลายทางมายังจุดหมาย ในหน่วยเมตร
- id (ตัวแปรที่ 2) - reserve
- time (ตัวแปรที่ 3) - เวลาที่ใช้เดินทางโดยประมาณ ในหน่วยวินาที
- road1..N (ตัวแปรที่ 4 เป็นต้นไป) - ถนนที่เดินทางผ่าน ในรูปแบบ
- name (ตัวแปร n) - ชื่อถนน
- turncode (ตัวแปร t) - รหัสของทิศทางการเดินทาง (ดูเพิ่มเติมที่หัวข้อ Turn Code)
- distance (ตัวแปร d) - ระยะทาง ในหน่วยเมตร
{"n":"name","t":turncode,"d":distance}
เช่น
result=[74.03608290196092,51.125157487986726,40,500{"n":"ถนนไม่ทราบชื่อ","t":8,"d":861.5767038304089},
...
,{"n":"ถนนไม่ทราบชื่อ","t":1,"d":4635.52498151315}];runme();
หากเกิดปัญหา จะส่ง error code มาในค่า var ดังนี้
- 400 - Invalid position
- 404 - Route not found
Locale Code
- th - ภาษาไทย (Default)
- en - english
- ja - 日本語
Turn Code
- 0 - เลี้ยวซ้าย
- 1 - เลี้ยวขวา
- 2 - เบี่ยงซ้าย
- 3 - เบี่ยงขวา
- 5 - ตรงไป
- 8 - ไม่มีข้อมูล
- 1506 reads
