MM Route API

Initialize
init  
Event
onHasInstruction onHasRoute onDestinationClick  
Mutator
setInstructionDiv setRouteColor setHighlightRouteColor setStatic
setAutoSearch setSearchMode setDebug setRouteVisible
setShowDistance setShowCumulativeDistance setUsePOIName setDestinationImage
setTrackerImage setPointerImage  
getTotalDistance getTotalTime getInstruction getDestination
Method
useDefaultRightClickMenu addDestination insertDestination removeDestination
reverseDestination searchRoute clearRoute clearInstruction
clearDestination allClear animate stopAnimate
toggleAnimate zoomAllRoute showAbout exportRouteLine
Etc.
Search Mode Query String Return Script Locale Code
Turn Code  

 

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:

MM Line Object

 

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 - ไม่มีข้อมูล