MM Route API

Initialize
init
Event
onHasInstruction onHasRoute onDestinationClick onDestinationMoved
Mutator
setInstructionDiv setRouteColor setHighlightRouteColor setStatic
setShowPointer setAutoSearch setSearchMode setSearchType
setDebug setRouteVisible setUseMultiGeom setUseLastImage
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
RESTful API
Route API Route API Result Geometry API Geometry API Result
Etc.
Search Mode Search Type 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

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)

 

setUseMultiGeom(mode)

กำหนดว่าจะให้เปลี่ยนความละเอียดเส้นถนนตามระยะซูมหรือไม่

Parameters:

mode - true ถ้าต้องการให้แสดง, false ถ้าไม่ต้องการ (Default: true)

setUseLastImage(mode)

กำหนดว่าจะใช้รูปจุดหมายสุดท้ายหรือไม่

Parameters:

mode - true ถ้าต้องการให้ใช้, false ถ้าไม่ต้องการ (Default: false)

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

 

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/GetGeom?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]

เช่น

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 - เข้าสู่ทางพิเศษ