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