แสดง google map ใน jQuery Mobile ตอนที่ 9

เขียนเมื่อ 10 ปีก่อน โดย Ninenik Narkdee
jquerymobile google map

คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ jquerymobile google map

ดูแล้ว 9,329 ครั้ง




เนื้อหา jquery mobile ตอนที่ 9 จะเป็นการศึกษา และวิธีการ
นำ google map มาแสดงใน jquery mobile ทดสอบตามตัวอย่างได้เลย
 
1. เริ่มต้น สร้างโครงหลักหน้าเว็บ สำหรับ jquery mobile 
 
ตัวอย่างหน้าแรก สำหรับลิ้งค์ไป หน้าแสดง google map 
ในที่ใช้ชื่อ ex8_1.php (กำหนดชื่อตามต้องการ)
 
 
โค้ดไฟล์ ex8_1.php
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<!DOCTYPE html>
<html>
<head>
    <title>ใส่ไตเติล ตามใจชอบ</title>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="js/mobile/1.4.2/jquery.mobile-1.4.2.min.css" />
    <script src="js/jquery-1.9.1.min.js"></script>
    <script src="js/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>   
</head>
 
<body>
 
<!-- Start of  page HOME  -->
<div data-role="page" id="page_home">
 
    <div data-role="header">
        <a href="#left_panel" class="ui-btn ui-shadow ui-corner-all ui-icon-bars ui-btn-icon-notext">Bars</a>
        <h1>Home</h1>
         
        <div data-role="navbar" >
            <ul>
                <li><a href="#" class="ui-btn-active"  data-icon="heart">เมนู 1</a></li>
                <li><a href="#" data-icon="calendar">เมนู 2</a></li>
                <li><a href="#" data-icon="audio">เมนู 3</a></li>
                <li><a href="#" data-icon="alert">เมนู 4</a></li>
                <li><a href="#" data-icon="gear">เมนู 5</a></li>
            </ul>
        </div><!-- /navbar -->       
    </div><!-- /header -->
 
    <div data-role="content">
<!--BEGIN ส่วนของเนื้อหาในเพจ     -->
 
 
<!--สำหรับกดลิ้งค์ไปหน้า แผนที่-->
<a href="ex8_map.php" class="ui-btn ui-corner-all">Go to map</a>
<br>
<br>
 
 
 
<!--       แผนที่จะแสดงใน div id นี้-->
    </div><!-- /content -->
     
    <div data-role="panel" id="left_panel" data-display="push">
        <ul data-role="listview" data-icon="false"  data-divider-theme="a">
            <li data-role="list-divider">หัวข้อแบ่ง</li>
            <li><a href="#">เมนูที่ 1</a></li>
            <li><a href="#">เมนูที่ 2</a></li>
            <li><a href="#">เมนูที่ 3</a></li>
            <li><a href="#">เมนูที่ 4</a></li>           
            <li data-role="list-divider">หัวข้อแบ่ง</li>
            <li><a href="#">เมนูที่ 6</a></li>
            <li><a href="#">เมนูที่ 7</a></li>
        </ul>
    </div><!-- /panel -->       
 
    <div data-role="footer" data-position="fixed">    
        <h4>ส่วน  footer ใส่ตามใจชอบ</h4>
    </div><!-- /footer -->
     
 
     
</div><!-- /page -->
<script type="text/javascript">
$(function(){
 
 
 
});
</script>
 
</body>
</html>
 
 
2. สร้างไฟล์ สำหรับ แสดงแผนที่ ในที่นี้ ใช้ชื่อ ex8_map.php
ในหน้านี้ อย่าลืมกำหนด id ของ เพจ เป็น map-page
ดังนี้ 

1
<div data-role="page" id="map-page">
 
เพื่อสำหรับตรวจสอบก่อนเรียกใช้งาน การแสดงแผนที่
 
โค้ดไฟล์ ex8_map.php
 
 
3. ในขั้นตอนที่ 3 จะกลับมาแก้ไขไฟล์ ex8_1.php 
โดยจะเพิ่มการเรียกใช้ google map ไลบรารี่ และกำหนด css แสดง
แผนที่ ตามโค้ดต่อไปนี้
 
1
2
3
4
5
6
7
8
9
10
11
<!--    เรียกใช้ google map ไลบรารี่ -->
    <script src="//maps.google.com/maps/api/js?sensor=false"></script>
    <style type="text/css">
/*  กำหนด css แสดง แผนที่*/
    div#map_canvas{   
        margin:auto;   
        width:100%;   
        height:300px;   
        overflow:hidden;   
    }   
    </style>
 
 
โดยจะแทรกโค้ดไว้ด้านบน ใน header ของไฟล์ ex8_1.php
 
4. สร้างฟังก์ชั่นแสดง แผนที่ และเรียกใช้งาน 
ในขั้นตอนที่ 4 จะเป็นการสร้างฟังก์ชั่น แสดงแผนที่ ในที่นี้ เป็นการเรียกใช้
คุณสมบัติ ระบุตำแหน่งปัจจุบัน ในแผนที่ หากทดสอบ แล้วมีการร้องของอนุญาต
เข้าถึงตำแหน่งปัจจุบีนให้ตอบ ตกลง หรือ อนุญาต เพื่อแผนที่จะได้ทำงานถูกต้อง
 
ตัวอย่าง ไฟล์ ex8_1.php ผลลัพธ์
 

 
ตัวอย่างโค้ดไฟล์ ex8_1.php 
พร้อมโค้ดทั้งหมด คำอธิบายแสดงในโค้ด

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<!DOCTYPE html>
<html>
<head>
    <title>ใส่ไตเติล ตามใจชอบ</title>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="js/mobile/1.4.2/jquery.mobile-1.4.2.min.css" />
    <script src="js/jquery-1.9.1.min.js"></script>
    <script src="js/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>   
<!--    เรียกใช้ google map ไลบรารี่ -->
    <script src="//maps.google.com/maps/api/js?sensor=false"></script>
    <style type="text/css">
/*  กำหนด css แสดง แผนที่*/
    div#map_canvas{   
        margin:auto;   
        width:100%;   
        height:300px;   
        overflow:hidden;   
    }   
    </style>       
</head>
 
<body>
 
<!-- Start of  page HOME  -->
<div data-role="page" id="page_home">
 
    <div data-role="header">
        <a href="#left_panel" class="ui-btn ui-shadow ui-corner-all ui-icon-bars ui-btn-icon-notext">Bars</a>
        <h1>Home</h1>
         
        <div data-role="navbar" >
            <ul>
                <li><a href="#" class="ui-btn-active"  data-icon="heart">เมนู 1</a></li>
                <li><a href="#" data-icon="calendar">เมนู 2</a></li>
                <li><a href="#" data-icon="audio">เมนู 3</a></li>
                <li><a href="#" data-icon="alert">เมนู 4</a></li>
                <li><a href="#" data-icon="gear">เมนู 5</a></li>
            </ul>
        </div><!-- /navbar -->       
    </div><!-- /header -->
 
    <div data-role="content">
<!--BEGIN ส่วนของเนื้อหาในเพจ     -->
 
 
<!--สำหรับกดลิ้งค์ไปหน้า แผนที่-->
<a href="ex8_map.php" class="ui-btn ui-corner-all">Go to map</a>
<br>
<br>
 
 
 
<!--       แผนที่จะแสดงใน div id นี้-->
    </div><!-- /content -->
     
    <div data-role="panel" id="left_panel" data-display="push">
        <ul data-role="listview" data-icon="false"  data-divider-theme="a">
            <li data-role="list-divider">หัวข้อแบ่ง</li>
            <li><a href="#">เมนูที่ 1</a></li>
            <li><a href="#">เมนูที่ 2</a></li>
            <li><a href="#">เมนูที่ 3</a></li>
            <li><a href="#">เมนูที่ 4</a></li>           
            <li data-role="list-divider">หัวข้อแบ่ง</li>
            <li><a href="#">เมนูที่ 6</a></li>
            <li><a href="#">เมนูที่ 7</a></li>
        </ul>
    </div><!-- /panel -->       
 
    <div data-role="footer" data-position="fixed">    
        <h4>ส่วน  footer ใส่ตามใจชอบ</h4>
    </div><!-- /footer -->
     
 
     
</div><!-- /page -->
<script type="text/javascript">
$(function(){
 
/*  แสดงแผนที่ เมื่อมีการเปิดไปหน้า แผนที่ อ้างอิง id เพจ map-map*/
    $( document ).on( "pageinit", "#map-page", function() { // เมื่อเริ่มต้นแสดงหน้า แผนที่
        setTimeout(function(){ // ตั้งเวลาหน่วง หรือ delay การเรียกใช้งาน ฟังก์ชั่นแสดงแผนที่
        initialize();   // ฟังก์ชั่นแสดงแผนที่     
        },3000); // กำหนดเวลาหน่วง 3 วินาที่ , 1000 เท่ากับ 1 วินาที
    });
 
});
</script>
<script type="text/javascript">
var map; // กำหนดตัวแปร map ไว้ด้านนอกฟังก์ชัน เพื่อให้สามารถเรียกใช้งาน จากส่วนอื่นได้   
var GGM; // กำหนดตัวแปร GGM ไว้เก็บ google.maps Object จะได้เรียกใช้งานได้ง่ายขึ้น   
// ฟังก์ชันสำหรับสร้างแผนที่ ใช้ชื่อว่า initialize() 
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];    
    // กำหนด Option ของแผนที่   
    var myOptions = {   
        zoom: 13, // กำหนดขนาดการ zoom   
        center: my_Latlng , // กำหนดจุดกึ่งกลาง   
        mapTypeId:my_mapTypeId // กำหนดรูปแบบแผนที่   
    };   
    map = new GGM.Map(my_DivObj,myOptions);// สร้างแผนที่และเก็บตัวแปรไว้ในชื่อ map   
     
     
     
    // เรียกใช้คุณสมบัติ ระบุตำแหน่ง ของ html 5 ถ้ามี   
    if(navigator.geolocation){   
            navigator.geolocation.getCurrentPosition(function(position){   
                var pos = new GGM.LatLng(position.coords.latitude,position.coords.longitude);   
                var infowindow = new GGM.InfoWindow({   
                    map: map,   
                    position: pos,   
                    content: "คุณอยู่ที่นี่."   
                });   
                     
                var my_Point = infowindow.getPosition();  // หาตำแหน่งของตัว marker เมื่อกดลากแล้วปล่อย   
                map.panTo(my_Point);  // ให้แผนที่แสดงไปที่ตัว marker               
                map.setCenter(pos);   
            },function() {   
                // คำสั่งทำงาน ถ้า ระบบระบุตำแหน่ง geolocation ผิดพลาด หรือไม่ทำงาน   
            });   
    }else{   
         // คำสั่งทำงาน ถ้า บราวเซอร์ ไม่สนับสนุน ระบุตำแหน่ง   
    }   
   
}   
</script>
</body>
</html>



 


กด Like หรือ Share เป็นกำลังใจ ให้มีบทความใหม่ๆ เรื่อยๆ น่ะครับ











URL สำหรับอ้างอิง











เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ