我正在寻找一个javascript函数或jquery库来将地理位置代码(例如42.2342,32.23452)转换为街道地址
例如。
navigator.geolocation.getCurrentPosition(
function(pos) {
$("#lat_field").val(pos.coords.latitude);
$("#long_field").val(pos.coords.longitude);
}
);
以下是获取地址数据的google api网址
http://maps.googleapis.com/maps/api/geocode/json?latlng=41.03531125,29.0124264&sensor=false
我想看“formatted_address”:“HacıHesnaHatun Mh。,PaşaLimanıCd2-26,34674 Istanbul,Türkiye”,
navigator.geolocation.getCurrentPosition(
function(pos) {
$("#lat_field").val(pos.coords.latitude);
$("#long_field").val(pos.coords.longitude);
$("#adress_data").getaddrfromlatlong(pos.coords.latitude,pos.coords.longitude)
}
);
这个功能应该如何? ``getaddrfromlatlong()
答案 0 :(得分:8)
试试这个:
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var geocoder = new google.maps.Geocoder();
var latLng = new google.maps.LatLng(41.03531125,29.0124264);
if (geocoder) {
geocoder.geocode({ 'latLng': latLng}, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
console.log(results[0].formatted_address);
}
else {
console.log("Geocoding failed: " + status);
}
});
}
</script>
答案 1 :(得分:0)
我还没有在Javascript中完成它,但我使用谷歌地图网络服务做了类似的事情来下载XML并解析数据。它们也有一个JSON接口,这可能是你想要使用的。它确实相当简单(下载数据,然后grep它)所以我认为你不需要预先编写的库。