我正在用SpringMVC开发一个移动web应用程序。对于地理定位,我从这里获得代码
我在那个网站上用手机运行了这个演示,它请求位置许可,在jsfiddle演示上也是一样,它正在工作。如果我没有启用Gps,我会得到"无法检索您的位置"。
但在我的应用程序上,我在未经许可的情况下立即收到了上述消息(还从chrome中删除了所有被阻止的应用程序)。
在电脑上,地理定位可以通过我的应用程序进行,但在我的手机上,不能。。问题出在哪里?意思为什么地理定位不能通过我的应用程序在我的手机上工作,但它在其他网站上工作。在我的手机上,直接转到error()函数。也许我必须对配置文件进行一些更改,或者我不知道。。
LE:在另外2台设备上测试,输出相同:无法检索您的位置。。。(启用GPS)
LE2:我检查了错误代码。我的许可被拒绝这是Fiddle
<p><button onclick="geoFindMe()">Show my location</button></p>
<div id="out"></div>
//Javascript
function geoFindMe() {
var output = document.getElementById("out");
if (!navigator.geolocation){
output.innerHTML = "<p>Geolocation is not supported by your browser</p>";
return;
}
function success(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
output.innerHTML = '<p>Latitude is ' + latitude + '° <br>Longitude is ' + longitude + '°</p>';
var img = new Image();
img.src = "https://maps.googleapis.com/maps/api/staticmap?center=" + latitude + "," + longitude + "&zoom=13&size=300x300&sensor=false";
output.appendChild(img);
};
function error() {
output.innerHTML = "Unable to retrieve your location";
};
output.innerHTML = "<p>Locating…</p>";
navigator.geolocation.getCurrentPosition(success, error);
}
您可以检查此代码,https://github.com/makubex88/MobileHTML5CodeCamp/blob/master/mobilehtml5.html
function showPosition(position) {
var latlon = position.coords.latitude + "," + position.coords.longitude;
var img_url = "http://maps.googleapis.com/maps/api/staticmap?center="+latlon+"&zoom=14&size=400x300&sensor=false";
document.getElementById("mapholder").innerHTML = "<img src='" + img_url + "'>";
}