ลองเล่นกับ MM MAP API แผนที่ของคนไทย ไม่แพ้ชาติใดในโลก
วันนี้ได้ลองเล่น MAP API แผนที่ออนไลน์แบบไทยๆบ้างครับ นั่นคือ MM MAP API ครับ หลังจากที่หมกมุ่นอยู่กับ Google Maps API อยู่นาน ไม่รู้ว่าคนไทยเราก็ทำได้ไม่แพ้ใครเลยครับ ขอบอกว่าสุดยอดมากเลยครับ ถึงมีเครื่องไม้เครื่องมือไม่หลากหลายเหมือน Google แต่ก็เพียงพอสำหรับที่จะดึงข้อมูลที่สำคัญออกมาใช้กับโปรเจ็คของเราครับ เช่น ละติจูด , ลองติจูด , ค่าซุม , รายละเอียดที่อยู่ต่างๆ (ซอย,ถนน) ซึ่งผมได้ลองเปรียบเทียบกับแผนที่ในพี่กู๋ดูแล้ว ดูเหมือนว่าจะละเอียดกว่า Google Maps ซะอีกแฮะ ไม่ว่าจะเป็นข้อมูลสถานที่ต่างๆ ที่บอกได้ละเอียดมากเลยครับ ลองอ่านบทความเปรียบเทียบระหว่าง longdo กับ Google ได้ที่เลยครับ ->http://pepzewee.exteen.com/20100412/longdo-map
MM MAP API เป็นบริการของ Longdo Map เราสามารถนำข้อมูลแผนที่ของ Longdo Map มาแสดงในหน้าเว็บของเราตามที่ต้องการ เช่น กำหนดตำแหน่งที่ตั้งของสถานที่ โดยที่เราสามารเรียกใช้Methodต่างๆที่ Longdo ได้จัดเตรียมไว้แล้วมาใช้งาน
มาดูโค๊ดที่ผมได้ลองทำกันเลยครับ และลองเอาประยุกต์ดูนะครับ มันจะคล้ายๆกับ Google Maps นะแหละครับ
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>mm map api</title>
<style type="text/css">
body{
font-size:13px;
}
#mmMapDiv {
left:0px;
top:0px;
}
</style>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="http://mmmap15.longdo.com/mmmap/mmmap.php"></script>
<script type="text/javascript">
var mmmap;
function mmMapShow(){
var mmMapDiv = document.getElementById("mmMapDiv");
var LatDefault=13.723419,LngDefault=100.476232;
mmmap = new MMMap(mmMapDiv, LatDefault, LngDefault, 9, "normal");//สร้างอ๊อปเจคแผนที่ในตัวแปร mmap
$('#lat').html(mmmap.centerLat());
$('#lng').html(mmmap.centerLong());
$('#zoomLevel').html(mmmap.getZoom());
mmmap.setSize(650,400);//กำหนดขนาดแผนที่
mmmap.rePaint();//วาดขนาด
mmmap.setMouseMoveHandler(show_Lat_Lng);
// ตรวจจับเหตุการณ์เมื่อ Mouse เคลื่อนย้ายตำแหน่ง ให้ไปเรียกฟังก์ชั่น show_Lat_Lng ให้ทำงาน
mmmap.setResolutionChangedHandler(show_Zoom_Level);
//ตรวจจับเหตุการณ์เมื่อคลิกที่ ซูมเข้า/ซูมออกแผนที่ ให้ไปเรียกฟังก์ชั่น show_Zoom_Level ทำงาน
mmmap.setMouseWheelHandler(show_Zoom_Level);
//ตรวจจับเหตุการณ์เมื่อเลื่อนลูกล้อของเม้าส์เพื่อซูมเข้า/ซูมออกแผนที่ ให้ไปเรียกฟังก์ชั่น show_Zoom_Level ทำงาน
mmmap.getAddressObjectFromLatLon(LatDefault, LngDefault, "th", "address", "generateAddresToText(address)");
}
function show_Lat_Lng() {
//ถูกเรียกจากคำสั่งนิ mmmap.setMouseMoveHandler(show_Lat_Lng);
$('#lat').html(mmmap.centerLat());//นำค่าละติจูดไปแสดง
$('#lng').html(mmmap.centerLong());//นำค่าลองติจูดไปแสดง
mmmap.getAddressObjectFromLatLon(mmmap.centerLat(), mmmap.centerLong(), "th", "address", "generateAddresToText(address)");
//ส่ง object ชื่อ address ไปในฟังก์ชั่นชื่อ generateAddresToText เพื่อดึงค่าที่อยุ่ออกมาแสดง
};
function show_Zoom_Level(){
//ถูกเรียกใช้งานจากคำสั่งนิ mmmap.setResolutionChangedHandler(show_Zoom_Level); และ mmmap.setMouseWheelHandler(show_Zoom_Level);
$('#zoomLevel').html(mmmap.getZoom());//นำค่าซูมไปแสดง
}
function generateAddresToText(address) {//ดึงข้อมูลของที่อยู่มาแสดงใน รายละเอียด
if(!address.province) address.province = "-";
if(!address.amphoe) address.amphoe = "-";
if(!address.district) address.district = "-";
if(!address.postcode) address.postcode = "-";
if(!address.road) address.road = "-";
if(!address.soi) address.soi = "-";
$('#detail').html("<p>จังหวัด : " + address.province + "</p>" +
"<p>อำเภอ/แขวง : " + address.amphoe + "</p>" +
"<p>ตำบล/เขต : " + address.district + "</p>" +
"<p>รหัสไปรษณีย์ : " + address.postcode + "</p>" +
"<p>ถนน : " + address.road + "</p>" +
"<p>ซอย : " + address.soi + "</p>" +
"<p>พิกัดทางภูมิศาสตร์ : " + address.geocode
);
}
$(document).ready(function(){
mmMapShow();
});
</script>
</head>
<body>
<table width="955" border="0" align="center">
<tr>
<td>
<div id="mmMapDiv"></div></td>
</tr>
<tr>
<td>
<p><strong>ละติจูด :</strong> <span id="lat"></span></p>
<p><strong>ลองติจูด :</strong> <span id="lng"></span></p>
<p><strong>Zoom Level :</strong> <span id="zoomLevel"></span></p>
<p><strong>รายละเอียด :</strong> <span id="detail"></span> </p>
</td>
</tr>
</table>
</body>
</html>
ศึกษาเพิ่มเติมได้จากที่นี่เลยครับ
คู่มือภาษาไทย http://map.longdo.com/api/docs
ข้อมูลฟังก์ชั่นหรือเมธอดต่างๆและวิธีเรียกใช้ http://map.longdo.com/api/reference

ไม่เจ่ง
ตอบลบ