ส่วนของ MapTypeControlOptions คือส่วนที่แสดงประเภทของแผนที่ ที่ต้องการ โดยปกติ
จะอยู่ทางมุมบนด้านขวา ของแผนที่
การจัดการในส่วนของ MapTypeControlOptions นี้ ทำให้เราสามารถกำหนด รูปแบบของส่วนควมคุม ประเภทของแผนที่ เช่น ตำแหน่ง และ รูปแบบได้
ตำแหน่งต่างประกอบไปด้วย
ภาพประกอบจาก Google

BOTTOM แสดงชิดขอบล่างตรงกลาง
BOTTOM_LEFT แสดงชิดขอบล่างด้านซ้ายต่อหลังจากโลโก้ของ Google
BOTTOM_RIGHT แสดงชิดขอบล่างด้านขวาก่อนคำว่า copyrights
LEFT แสดงชิดขอบข้างด้านซ้ายอยู่ใต้ส่วนอื่นที่ชิดขอบบนซ้ายลงมา
RIGHT แสดงชิดขอบข้างด้านขวาอยู่ใต้ส่วนอื่นที่ชิดขอบบนขวาลงมา
TOP แสดงชิดขอบบนตรงกลาง
TOP_LEFT แสดงชิดขอบบนด้านซ้ายขยับออกจากแนวตรงกลาง
TOP_RIGHT แสดงชิดขอบบนด้านขวาขยับออกจากแนวตรงกลาง
รูปแบบประกอบไปด้วย
DEFAULT แสดงในแบบมาตรฐานหรือขึ้นอยู่กับองค์ประกอบอื่นๆ ก็จะเปลี่ยนแปลงไปตามนั้น
DROPDOWN_MENU แสดงลักษณะ Dropdown Menu
HORIZONTAL_BAR แสดงลักษณะมาตรฐาน แถบ bar แนวนอน
ส่วนที่ใช้ในการจัดตำแหน่ง MapTypeControlOptions และรูปแบบ style ในโค้ด
// กำหนด Option ของแผนที่
var myOptions = {
zoom: 13, // กำหนดขนาดการ zoom
center: my_Latlng , // กำหนดจุดกึ่งกลาง
mapTypeId:my_mapTypeId, // กำหนดรูปแบบแผนที่
mapTypeControlOptions:{ // การจัดรูปแบบส่วนควบคุมประเภทแผนที่
position:GGM.ControlPosition.TOP, // จัดตำแหน่ง
style:GGM.MapTypeControlStyle.DROPDOWN_MENU // จัดรูปแบบ style
}
};
map = new GGM.Map(my_DivObj,myOptions);// สร้างแผนที่และเก็บตัวแปรไว้ในชื่อ map
คลิกดูผลลัพธิ์ การจัดตำแหน่ง และรูปแบบต่างๆ
ตัวอย่างโค้ด
<!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>Google Map API 3 - 01</title>
<style type="text/css">
html { height: 100% }
body {
height:100%;
margin:0;padding:0;
font-family:tahoma, "Microsoft Sans Serif", sans-serif, Verdana;
font-size:12px;
}
/* css กำหนดความกว้าง ความสูงของแผนที่ */
#map_canvas {
width:650px;
height:400px;
margin:auto;
margin-top:50px;
}
.mybtTest{
border:1px solid #999;
background-color:#000;
color:#FFF;
font-weight:bold;
font-size:10px;
}
.mybtTest2{
border:1px solid #009;
background-color:#069;
color:#FFF;
font-weight:bold;
font-size:10px;
}
</style>
</head>
<body>
<div id="map_canvas"></div>
<div style="width:650px;text-align:left;margin:auto;">
<br />
<button class="mybtTest">BOTTOM</button>
<button class="mybtTest">BOTTOM_LEFT</button>
<button class="mybtTest">BOTTOM_RIGHT</button>
<button class="mybtTest">LEFT</button>
<button class="mybtTest">RIGHT</button>
<button class="mybtTest">TOP</button>
<button class="mybtTest">TOP_LEFT</button>
<button class="mybtTest">TOP_RIGHT</button>
<hr />
<button class="mybtTest2">DEFAULT</button>
<button class="mybtTest2">DROPDOWN_MENU</button>
<button class="mybtTest2">HORIZONTAL_BAR</button>
</div>
</div>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
var map; // กำหนดตัวแปร map ไว้ด้านนอกฟังก์ชัน เพื่อให้สามารถเรียกใช้งาน จากส่วนอื่นได้
var my_Marker; // กำหนดตัวแปรสำหรับเก็บตัว marker
var GGM; // กำหนดตัวแปร GGM ไว้เก็บ google.maps Object จะได้เรียกใช้งานได้ง่ายขึ้น
function initialize() { // ฟังก์ชันแสดงแผนที่
GGM=new Object(google.maps); // เก็บตัวแปร google.maps Object ไว้ในตัวแปร GGM
// กำหนดจุดเริ่มต้นของแผนที่
var my_Latlng = new GGM.LatLng(13.761728449950002,100.6527900695800);
var my_mapTypeId=GGM.MapTypeId.ROADMAP; // กำหนดรูปแบบแผนที่ที่แสดง
// กำหนด DOM object ที่จะเอาแผนที่ไปแสดง ที่นี้คือ div id=map_canvas
var my_DivObj=$("#map_canvas")[0];
// ตำแหน่งต่างประกอบไปด้วย
// BOTTOM แสดงชิดขอบล่างตรงกลาง
// BOTTOM_LEFT แสดงชิดขอบล่างด้านซ้ายต่อหลังจากโลโก้ของ Google
// BOTTOM_RIGHT แสดงชิดขอบล่างด้านขวาก่อนคำว่า copyrights
// LEFT แสดงชิดขอบข้างด้านซ้ายอยู่ใต้ส่วนอื่นที่ชิดขอบบนซ้ายลงมา
// RIGHT แสดงชิดขอบข้างด้านขวาอยู่ใต้ส่วนอื่นที่ชิดขอบบนขวาลงมา
// TOP แสดงชิดขอบบนตรงกลาง
// TOP_LEFT แสดงชิดขอบบนด้านซ้ายขยับออกจากแนวตรงกลาง
// TOP_RIGHT แสดงชิดขอบบนด้านขวาขยับออกจากแนวตรงกลาง
// รูปแบบประกอบไปด้วย
// DEFAULT แสดงในแบบมาตรฐานหรือขึ้นอยู่กับองค์ประกอบอื่นๆ ก็จะเปลี่ยนแปลงไปตามนั้น
// DROPDOWN_MENU แสดงลักษณะ Dropdown Menu
// HORIZONTAL_BAR แสดงลักษณะมาตรฐาน แถบ bar แนวนอน
// กำหนด Option ของแผนที่
var myOptions = {
zoom: 13, // กำหนดขนาดการ zoom
center: my_Latlng , // กำหนดจุดกึ่งกลาง
mapTypeId:my_mapTypeId, // กำหนดรูปแบบแผนที่
mapTypeControlOptions:{ // การจัดรูปแบบส่วนควบคุมประเภทแผนที่
position:GGM.ControlPosition.TOP, // จัดตำแหน่ง
style:GGM.MapTypeControlStyle.DROPDOWN_MENU // จัดรูปแบบ style
}
};
map = new GGM.Map(my_DivObj,myOptions);// สร้างแผนที่และเก็บตัวแปรไว้ในชื่อ map
my_Marker = new GGM.Marker({ // สร้างตัว marker
position: my_Latlng, // กำหนดไว้ที่เดียวกับจุดกึ่งกลาง
map: map, // กำหนดว่า marker นี้ใช้กับแผนที่ชื่อ instance ว่า map
// draggable:true, // กำหนดให้สามารถลากตัว marker นี้ได้
title:"แสดง title!" // แสดง title เมื่อเอาเมาส์มาอยู่เหนือ
});
}
var tmpPosition;
var tmpStyle;
$("button.mybtTest").click(function(){
var mapTypeControlOpt=$(this).text();
tmpPosition=eval("GGM.ControlPosition."+mapTypeControlOpt);
map.setOptions({
mapTypeControlOptions:{
position:eval("GGM.ControlPosition."+mapTypeControlOpt),
style:tmpStyle
}
});
});
$("button.mybtTest2").click(function(){
var mapTypeControlOpt=$(this).text();
tmpStyle=eval("GGM.MapTypeControlStyle."+mapTypeControlOpt);
map.setOptions({
mapTypeControlOptions:{
position:tmpPosition,
style:eval("GGM.MapTypeControlStyle."+mapTypeControlOpt)
}
});
});
$(function(){
// โหลด สคริป google map api เมื่อเว็บโหลดเรียบร้อยแล้ว
// ค่าตัวแปร ที่ส่งไปในไฟล์ google map api
// v=3.2&sensor=false&language=th&callback=initialize
// v เวอร์ชัน่ 3.2
// sensor กำหนดให้สามารถแสดงตำแหน่งที่เปิดแผนที่อยู่ได้ เหมาะสำหรับมือถือ ปกติใช้ false
// language ภาษา th ,en เป็นต้น
// callback ให้เรียกใช้ฟังก์ชันแสดง แผนที่ initialize
$("<script/>", {
"type": "text/javascript",
src: "//maps.google.com/maps/api/js?v=3.2&sensor=false&language=th&callback=initialize"
}).appendTo("body");
});
</script>
</body>
</html>