如何获得特定城市/国家/地区的经度/纬度?

时间:2013-06-07 12:53:16

标签: php javascript html

例如,当我在http://www.infoghidromania.com/harta_romania.html网站上输入地址然后按提交时,它应该提取GPS坐标。

3 个答案:

答案 0 :(得分:2)

该网站使用谷歌地图API。您可以使用相同的API来获取谷歌地图本身可以找到的任何位置的长度/格度。

Javascript代码示例:

var geocoder =  new google.maps.Geocoder();
geocoder.geocode( { 'address': '<YOUR_SEARCH_STRING_HERE>' }, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
        alert("Lang/Lat : " + results[0].geometry.location.lat() + " " +results[0].geometry.location.lng()); 
    } else {
        alert('Error: ' + status);
    }
});

工作示例:

答案 1 :(得分:1)

您正在寻找的是“地理编码”。 Google地图有一个您可以使用的API - 您可以看到详细信息here

如何使用它的一个简单示例(假设它位于名为latLong.php的文件中):

<html encoding="utf-8">

<body>
    Please enter address to look up:
    <form method="get" action="latLong.php">
        <input name="address" />
        <input type="submit" />
    </form>
<?php
    $crlf = "<br>";

    if (isset($_GET["address"])) {
        $addressString = $_GET["address"];
        $address = urlencode($addressString);
        $googleApi = 'http://maps.googleapis.com/maps/api/geocode/json?address=%s&sensor=false';     

        $json = file_get_contents(sprintf($googleApi, $address));   
        $resultObject = json_decode($json);

        $location = $resultObject->results[0]->geometry->location;

        $lat = $location->lat;
        $lng = $location->lng;

        echo "Requested address: ".$addressString.$crlf; 
        echo "Latitude: ".$lat.$crlf;
        echo "Longitude: ".$lng.$crlf;
    }
?>
</body>
</html>

答案 2 :(得分:0)

使用jquery:

$(function(){
    $('idOfInputField').val("content");
    $('the id of the form').submit();
});