我正在开发一个应用程序,其中我有特定人的地址,现在我想在谷歌地图上找到该人的位置。当我保存他的细节时,我想保存那个人的经纬度。如何从地址中找到纬度和经度?
在地址中,我节省了他的城市,州,国家,街道等。
谢谢, SALONI
答案 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;
}
}