ช่วงนี้เริ่มศึกษา Google Maps API เพื่อที่จะมาใช้กับ Project ของตัวเองเข้าไปดู Tutorial การเรียกใช้งาน
ก็เลยงานลองลงมือเขียนการดึง Map แบบง่ายแล้วมันใช้งานได้ดี ก็เลยอยากที่จะมาแบ่งปันโค๊ดง่ายๆนี้กับเพื่อน ๆ
มาเริ่มกันเลย
ขั้นแรก จำเป็นต้องมี Account Gmail กันก่อน หลังจากนั้นเข้าไปสร้าง API_KEY ของ Map
เข้าไปที่ credentials console เพื่อเข้าไปสร้าง API_KEY
กด Create Credentials เลือก API Key
ระบบจะสร้าง KEY มาให้ 1 ชุด
เสร็จสิ้นการสร้าง API_KEY
ต่อไปเขียนโค๊ดกัน
<!DOCTYPE html>
<html ng-app="mapApp">
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
<title>Google Map</title>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.js"></script>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3.exp&key=YOUR_API_KEY"></script>
<style media="screen">
#map {
width: 100%;
height: 500px;
}
</style>
</head>
<body>
<div class="container" ng-controller="mapController">
<div class="" id="map"></div>
</div>
<script type="text/javascript">
var app = angular.module('mapApp', []);
app.controller('mapController', function($scope) {
console.log('Google Maps API version: ' + google.maps.version);
// สร้าง Location 2 ชุด
var locations = [
{
title: 'BKK',
lat: 13.742053062720384,
lng: 100.5084228515625
}, {
title: 'Rayong',
lat: 12.860004340637044,
lng: 101.38870239257812
}
]
// ผูก element กับ MAP zoom ระดับ 6 เลขน้อย จะมองระยะกว้าง เลขมาก จะละเอียด center ให้ focus ที่ Bangkok
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 6,
center: locations[0],
disableDefaultUI: true
});
// Loop วาด Marker บนแผนที่
angular.forEach(locations, function(location, index) {
console.log('location ::==' + location.title);
// สร้าง marker
var marker = new google.maps.Marker({position: location, map: map, title: location.title});
// สร้าง popup content ใส่ content เป็น location title
var infowindow = new google.maps.InfoWindow({content: location.title});
// สร้าง event ให้ จุด marker
marker.addListener('click', function(event) {
console.log(event);
// เปิด popup เมื่อ click marker
infowindow.open(map,marker);
});
});
// ใส่ event click ให้ MAP ทั้ง MAP
map.addListener('click', function(event) {
console.log('latitude ::==' + event.latLng.lat());
console.log('longtitude ::==' + event.latLng.lng());
// alert Latitude and Longitude
alert('Latitude ::=='+event.latLng.lat()+' \nLongitude ::=='+event.latLng.lng());
});
});
</script>
</body>
</html>
หลังจาก Run ทดสอบ
เหล่านี้เป็นตัวอย่างง่าย ๆ แต่ก็สามารถเอาไปต่อยอดทำ Project ได้ไม่มาก็น้อย บทความนี้ฝากไว้เท่านี้ครับ





