如何从asp.net中的地址查找经度和纬度

时间:2011-10-18 12:56:02

标签: jquery asp.net asp.net-ajax

我正在开发一个应用程序,其中我有特定人的地址,现在我想在谷歌地图上找到该人的位置。当我保存他的细节时,我想保存那个人的经纬度。如何从地址中找到纬度和经度?

在地址中,我节省了他的城市,州,国家,街道等。

谢谢, SALONI

3 个答案:

答案 0 :(得分:2)

您要做的事情称为地理编码,请参阅page on Google Geocoding API

<强>更新

可能你需要这个功能。它能够迭代一个数组并在每次地理编码返回后执行回调:

function locate(address, callback) {
    var geocoder = new google.maps.Geocoder(),
        latlong = [];

    geocoder.geocode({
        address: address[0]
    }, function(results, status) {
        if (status === google.maps.GeocoderStatus.OK) {
            latlong.push([results[0].geometry.location.Ma, results[0].geometry.location.Na]);
            address.shift();
            if (typeof callback === 'function') callback(latlong);

            if (address.length === 0) {
                return;
            } else {
                locate(address, callback);
            }
        }
    });
}


/*
 * Sample use
 */
locate(['1 Infinite Loop, Cupertino, CA', '1600 Amphitheatre Parkway, Mountain View, CA'], function(result) {
    console.log(result);
});

不要忘记在脚本之前加入Google Maps API JS文件。

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>

答案 1 :(得分:0)

使用Google Geocode API。以下也应该有所帮助。

string url = string.Format("http://maps.googleapis.com/maps/api/geocode/xml?address={0}&sensor=false", address);

这将返回一个带有以下内部节点

的xml
<location><lat>12.3456</lat><lng>98.7654</lng></location>

答案 2 :(得分:0)

我“第三”谷歌地理编码器.. 这是javascript中的一个例子:

//this is fired on the onChange of a dropdown or textbox
     function SetMap(textbox) {

        var postcode = textbox.value;
        if (postcode != '') {
            var geocoder = new google.maps.Geocoder();
            geocoder.geocode({ 'address': postcode }, GeoCodeResult);

        }

    }

    function GeoCodeResult(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            map.setCenter(results[0].geometry.location);
            var latlng = results[0].geometry.location.lat() + ', ' +                      results[0].geometry.location.lng();

//set hidden field to lat long
            document.getElementById('<%= hdnMapCoords.ClientID %>').value = latlng;


        }
    }