我需要的是客户的纬度/经度(通过浏览器)
在网上找到一些文章,发现堆栈溢出本身(旧文章)Get GPS location from the web browser。几乎在18个月之前就得到了回答 - 想知道是否还有其他(更有效的)方式从浏览器获取用户位置的信息。
到目前为止,发现了2
使用Maxmind
其他,使用google的api
w3c的geo api会出现向下兼容性问题:http://dev.w3.org/geo/api/spec-source.html,所以不要选择它。
找到一个网站www.drumaroo.com - 当我们进入网站时第一次请求共享位置。需要类似的东西
答案 0 :(得分:3)
可以使用以下方式找到用户: -
最佳选择是同时使用选项2,3.4,您可以分两步完成: -
有关可用的各种选项,请参阅this question
的答案答案 1 :(得分:1)
尝试HTML5地理位置
function init() {
var mapOptions = {
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = new google.maps.LatLng(position.coords.latitude,
position.coords.longitude);
var infowindow = new google.maps.InfoWindow({
map: map,
position: pos,
content: 'Location found using HTML5.'
});
map.setCenter(pos);
}
} else {
alert('Geolocation not detected');
}
}
答案 2 :(得分:1)
这是地理位置描述:
http://www.w3schools.com/htmL/html5_geolocation.asp
然后可以对lat / lng进行反向地理编码以查找国家/地区。等
https://developers.google.com/maps/documentation/javascript/examples/geocoding-reverse
答案 3 :(得分:0)
https://developers.google.com/maps/documentation/javascript/examples/map-geolocation。只需单击javascript + html并将代码复制到html文件中。
答案 4 :(得分:0)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Reverse Geocoding</title>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var geocoder;
if (navigator.geolocation) {
var location_timeout = setTimeout("geolocFail()", 10000);
navigator.geolocation.getCurrentPosition(function(position) {
clearTimeout(location_timeout);
var lat = position.coords.latitude;
var lng = position.coords.longitude;
geocodeLatLng(lat, lng);
}, function(error) {
alert("inside error ");
clearTimeout(location_timeout);
geolocFail();
});
} else {
alert("Turn on the location service to make the deposit");
// Fallback for no geolocation
geolocFail();
}
function geolocFail(){
alert("Turn on the location service to make the deposit");
document.write("Turn on the location service to make the deposit");
}
/*if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(successFunction, errorFunction);
}
//Get the latitude and the longitude;
function successFunction(position) {
var lat = position.coords.latitude;
var lng = position.coords.longitude;
codeLatLng(lat, lng)
}
function errorFunction(){
alert("Geocoder failed");
} */
function initialize() {
geocoder = new google.maps.Geocoder();
}
function geocodeLatLng(lat, lng) {
var latlng = new google.maps.LatLng(lat, lng);
geocoder.geocode({'latLng': latlng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
console.log(results)
if (results[1]) {
//formatted address
var add= results[0].formatted_address
alert(add);
//city data
//alert(city.short_name + " " + city.long_name)
} else {
alert("No results found");
}
} else {
alert("Geocoder failed due to: " + status);
}
});
}
</script>
</head>
<body onload="initialize()">
</body>
</html>
答案 5 :(得分:0)
这是用于跟踪设备(浏览器/移动设备)位置的HTML代码。将上述文件保存为.html扩展名并从系统或移动设备上的任何浏览器进行浏览,它将显示用户当前位置。