[PHP] Lấy thông tin của 1 địa điểm trên Google Maps

Chắc các bạn cũng không còn xa lạ với Google Maps, một dịch vụ trực tuyến rất hữu ích, cung cấp cho người dùng nhiều tiện ích như bản đồ, tìm kiếm địa điểm, đường đi….Và trong bài viết này, tôi sẽ giới thiệu các bạn 1 cách đơn giản để lấy thông tin của 1 địa điểm (bao gồm thông tin chi tiết, tọa độ…) trên Google Maps.

1, Lấy thông tin địa điểm từ Google Maps

Đoạn code mà tôi sử dụng như sau

<?php
/**
* @author Tấn Việt
* @copyright 2012
* @website https://tanvietblog.com
*/
function get_infor_from_address($address = null) {
$prepAddr = str_replace(' ', '+', stripUnicode($address));
$geocode = file_get_contents('http://maps.google.com/maps/api/geocode/json?address='.$prepAddr.'&sensor=false');
$output = json_decode($geocode);
return $output;
}
// Loại bỏ dấu tiếng Việt để cho kết quả chính xác hơn
function stripUnicode($str){
if (!$str) return false;
$unicode = array(
'a'=>'á|à|ả|ã|ạ|ă|ắ|ặ|ằ|ẳ|ẵ|â|ấ|ầ|ẩ|ẫ|ậ|Á|À|Ả|Ã|Ạ|Ă|Ắ|Ặ|Ằ|Ẳ|Ẵ|Â|Ấ|Ầ|Ẩ|Ẫ|Ậ',
'd'=>'đ|Đ',
'e'=>'é|è|ẻ|ẽ|ẹ|ê|ế|ề|ể|ễ|ệ|É|È|Ẻ|Ẽ|Ẹ|Ê|Ế|Ề|Ể|Ễ|Ệ',
'i'=>'í|ì|ỉ|ĩ|ị|Í|Ì|Ỉ|Ĩ|Ị',
'o'=>'ó|ò|ỏ|õ|ọ|ô|ố|ồ|ổ|ỗ|ộ|ơ|ớ|ờ|ở|ỡ|ợ|Ó|Ò|Ỏ|Õ|Ọ|Ô|Ố|Ồ|Ổ|Ỗ|Ộ|Ơ|Ớ|Ờ|Ở|Ỡ|Ợ',
'u'=>'ú|ù|ủ|ũ|ụ|ư|ứ|ừ|ử|ữ|ự|Ú|Ù|Ủ|Ũ|Ụ|Ư|Ứ|Ừ|Ử|Ữ|Ự',
'y'=>'ý|ỳ|ỷ|ỹ|ỵ|Ý|Ỳ|Ỷ|Ỹ|Ỵ'
);
foreach($unicode as $nonUnicode=>$uni) $str = preg_replace("/($uni)/i",$nonUnicode,$str);
return $str;
}
$demo = get_infor_from_address("154 Nguyen Luong Bang - Tp Da Nang");
print_r($demo);
?>

2, Cách sử dụng thông tin trả về

Thông tin trả về bao gồm rất nhiều thông tin hữu ích và được liệt kê chi tiết như tên đường, thành phố, quốc gia, tọa độ…Và tôi sẽ hiển thị tọa độ trả về của địa điểm với đoạn code dưới đây

$address = get_infor_from_address("154 Nguyen Luong Bang - Tp Da Nang");
echo 'Vĩ độ (latitude): ' . $address->results[0]->geometry->location->lat;
echo 'Kinh độ (longitude): ' . $address->results[0]->geometry->location->lng;

Và kết quả

Vĩ độ (latitude): 16.0766843
Kinh độ (longitude): 108.1484813

Trên mạng có rất nhiều trang web chia sẻ các thủ thuật hay về Google Maps dành cho newbie cũng như pro. Các bạn có thể tìm đọc thêm các bài viết đó tại

Kamizelka puchowa еще на сайте.

Thân ái!

Tấn Việt

Tôi lập trang web này để thỏa mãn sở thích viết cái gì đó vui vui khi rãnh rỗi và đồng thời cũng chia sẻ những gì tôi biết hoặc đọc đâu đó trên mạng về Lập trình web. Tôi hi vọng những bài viết này sẽ giúp ích cho các bạn. Thân ái!

You may also like…

6 Responses

  1. Ba says:

    Bạn ơi, cho mình hỏi cái code này mình chèn vào đâu để thấy được kinh độ, vĩ độ ?

    • Tấn Việt says:

      Bạn có thể xem ví dụ ở phần 2 (Cách sử dụng thông tin trả về) để lấy kinh độ, vĩ độ. Ở đây mình không chèn vào đâu cả, mình chỉ dùng PHP để lấy dữ liệu về. Còn nếu bạn muốn thấy kinh độ, vĩ độ thì có thể dùng lệnh echo để xem.

      P/S: Bạn có thể tham khảo thêm bài viết [Web] Tìm kiếm địa điểm với Google Maps

  2. vinh says:

    chào bạn.. mình thấy bài viết của bạn rất là hay.. bạn có thể cho mình xin địa chỉ mail để hỏi thêm về một số vấn đề nữa được không ạ ?

    • Tấn Việt says:

      Hi bạn,

      Email của mình là tanvietblog21@gmail.com. Mình rất sẵn lòng giúp đỡ bạn 🙂

  3. vuong says:

    cho mình hỏi cái: mình có danh sách các địa chỉ ==> mình muốn từ địa chỉ này nó sẽ cho ra tọa độ longitude và latitude được không ạ??

  4. Hảo says:

    bạn cho mình hỏi: nếu mình có danh sách các địa chỉ ==> mình muốn từ địa chỉ này nó sẽ cho ra thông tin chi tiết, đường, phường, huyện, thành phố… có được không bạn?