จัดรูปแบบ MapTypeControlOptions ใน Google Map

11 September 2010

ส่วนของ 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>&nbsp;  
<button class="mybtTest">BOTTOM_LEFT</button>&nbsp;
<button class="mybtTest">BOTTOM_RIGHT</button>&nbsp;
<button class="mybtTest">LEFT</button>&nbsp;
<button class="mybtTest">RIGHT</button>&nbsp;
<button class="mybtTest">TOP</button>&nbsp;
<button class="mybtTest">TOP_LEFT</button>&nbsp;
<button class="mybtTest">TOP_RIGHT</button>&nbsp;
<hr />
<button class="mybtTest2">DEFAULT</button>&nbsp;
<button class="mybtTest2">DROPDOWN_MENU</button>&nbsp;
<button class="mybtTest2">HORIZONTAL_BAR</button>&nbsp;
</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: "http://maps.google.com/maps/api/js?v=3.2&sensor=false&language=th&callback=initialize"
	}).appendTo("body");	
});
</script>  
</body>
</html>

 








บทความในหมวดที่่น่าสนใจ อื่นๆ jQuery Learning

23 Jan 12 แนวทางการประยุกต์ การซ่อน แสดงเนื้อหาสำหรับล็อกอิน อย่างง่าย ด้วย jQuery อ่าน 1436 12 Sep 10 จัดรูปแบบ ScaleControlOptions ใน Google Map อ่าน 1417 24 Jun 11 แก้ปัญหา event onchange ของ input type file ไม่ทำงานทันทีใน ใน IE อ่าน 1417

บทความคนเข้าอ่านวันนี้

30 Dec 08 การใช้งาน ajax ใน jQuery อย่างง่าย อ่าน 4911 29 Oct 08 สร้างปุ่มแบ่งหน้าให้ดูดีด้วย css อย่างง่าย อ่าน 7118 02 Jun 10 การหา ขนาด ความกว้าง ความสูงของ รูปภาพ ด้วย javascript อ่าน 2551 04 Dec 09 จัดการ Directory สร้าง ลบ เปลี่ยนชื่อ กำหนด permission ผ่าน FTP function ด้วย PHP อ่าน 1672 16 Aug 09 jQuery UI คือ อะไร อ่าน 4968 19 Oct 08 คำสั่ง SQL COUNT อ่าน 7773 04 Nov 09 ประยุกต์สร้าง pdf ไฟล์ จาก tcpdf class ด้วย php รองรับภาษาไทย อ่าน 6909 21 Dec 10 กำหนด ปุ่ม ให้ทำงาน เมื่อคลิกที่ checkbox ยอมรับเงื่อนไข ด้วย jQuery อ่าน 2671 20 Aug 09 jQuery ป้องกัน การคลิกขวา ในหน้าเว็บไซต์ อ่าน 3045 24 Sep 10 ประยุกต์ facebox ของ jQuery แทนการใช้ mootools facebox มาใช้งาน อ่าน 4101 25 Sep 08 ปิดหน้า Browser โดยไม่ต้องมีข้อความยืนยัน อ่าน 4020 10 Sep 10 การแสดง ข้อมูลใน infowindows ของ google map ด้วย ajax ใน jQuery อ่าน 4074 17 Oct 08 แสดงตัวอย่างรูป ก่อน upload image preview berfore upload อ่าน 10654 25 Sep 08 เลือกหรือไม่เลือก checkbox ทั้งหมด อ่าน 4331 07 Dec 09 การเลื่อน scrollbar อัตโนมัติตาม การเลื่อนขึ้นลง ของ mouse ด้วย jQuery อ่าน 3416 17 Mar 09 สร้างฟังก์ชันลบเวลาด้วย php อย่างง่าย อ่าน 2527 25 Sep 08 jquery สคริปแรกของคุณ อ่าน 4644 22 Mar 10 ทบทวนคำสั่ง break และ continue ใน javascript อ่าน 2865 25 Mar 09 ใช้งาน cookie ในการจำค่าชื่อผู้ใฃ้และรหัสผ่าน ด้วย javascript และ php อ่าน 3104 10 Oct 10 การใช้งาน stream.publish ของ facebook Old REST API ด้วย php sdk อ่าน 2951
จำนวนผู้เยี่ยมชม 892670
คน 2012 © Copyright ninenik.com. All rights reserved.