我想从给定地址($ street,$ barangay,$ city和$ province)使用php获取经度和纬度坐标。
答案 0 :(得分:2)
您可以使用网址:
http://maps.googleapis.com/maps/api/geocode/json?address=YOUR_ADDRESS
它是免费的。
您将获得包含lat& amp;的json编码形式的数据。长
答案 1 :(得分:1)
您可以在此处使用Google Maps Geocoding API: https://developers.google.com/maps/documentation/geocoding/intro
它是免费的: - 每天2,500个免费要求 - 每秒10个请求
要使用Google地理编码API,请使用此库(MIT许可证): http://geocoder-php.org/
答案 2 :(得分:1)
以下是根据城镇,城市或国家/地区位置从Google Maps API获取纬度和经度值的PHP代码示例。请查看tutorial和official documentation。
<?php
$url = "http://maps.google.com/maps/api/geocode/json?address=West+Bridgford&sensor=false®ion=UK";
$response = file_get_contents($url);
$response = json_decode($response, true);
//print_r($response);
$lat = $response['results'][0]['geometry']['location']['lat'];
$long = $response['results'][0]['geometry']['location']['lng'];
echo "latitude: " . $lat . " longitude: " . $long;
?>
http://maps.google.com/maps/api/geocode/json
网址有3个参数:地址(您的主要位置),区域和传感器,用于指示请求是否来自带有位置传感器的设备。
您还可以查看此相关SO question。社群建议使用curl
代替file_get_contents
。
$address = "India+Panchkula";
$url = "http://maps.google.com/maps/api/geocode/json?address=$address&sensor=false®ion=India";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXYPORT, 3128);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);
curl_close($ch);
$response_a = json_decode($response);
echo $lat = $response_a->results[0]->geometry->location->lat;
echo "<br />";
echo $long = $response_a->results[0]->geometry->location->lng;