我想在点击事件中获取用户的当前位置地址(城市,街道等)。
我尝试了html5地理位置并尝试管理数据。在单击按钮时,我正在通过创建警报框来检查地理位置是否受支持,并且它可以成功执行,但是在控制台中未打印任何值。
HTML
<div id="navbar"><span> Geolocation API</span></div>
<div id="wrapper">
<button id="location-button">Get User Location</button>
<div id="output"></div>
我的脚本
<script>
$('#location-button').click(function(){
if (navigator.geolocation) {
alert("it is supported");
navigator.geolocation.getCurrentPosition(function(position){
console.log(position);
$.get( "http://maps.googleapis.com/maps/api/geocode/json?latlng="+ position.coords.latitude + "," + position.coords.longitude +"&sensor=false", function(data) {
console.log(data);
})
var img = new Image();
img.src = "https://maps.googleapis.com/maps/api/staticmap?center=" + position.coords.latitude + "," + position.coords.longitude + "&zoom=13&size=800x400&sensor=false";
$('#output').html(img);
});
}
else
{
console.log("geo location is not supported")
}
});
</script>
我想获取用户位置的完整地址。
答案 0 :(得分:3)
您可以访问演示您的用例的jsfiddle sample。
请注意,不建议在客户端使用Web服务,因为建议将Web服务请求用于服务器端请求。
如下所示,我使用的是Geocoder Service而不是Web服务地理编码
geocoder.geocode( { 'location': pos}, function(results, status, infowindow) {
if (status == 'OK') {
console.log(results[0].formatted_address);
infoWindow.setContent('Location found: '+ results[0].formatted_address);
infoWindow.setPosition(pos);
infoWindow.open(map);
} else {
console.log('Geocode was not successful for the following reason: ' + status);
}
});
答案 1 :(得分:-3)
你根本做不到!地理定位使用移动设备上的三角测量或GPS,您将获得经度和纬度值甚至IP,并且您将获得最近的分配器设备(英语中的单词不正确)。 显然,对于地理位置定位,用户也必须对其进行授权。 因此,如果您要地址,最简单的方法就是通过表格询问。您可以使用与经度/纬度匹配相关的地图,但是这样做会很麻烦,因为您必须使用与之相关的所有地图和地球上的位置。