我即将创建一个使用PhoneGap的应用程序。但是我有一个地理定位问题。即使我为应用程序启用了位置服务,错误代码也是“PERMISSION_DENIED”。Phonegap地理位置PERMISSION_DENIED
我注意到了两件事。 当我以水合模式运行应用程序时,地理定位工作。 当我访问使用地理位置的地图时,应用程序崩溃。返回,然后再次返回到地图。
iPhone 5S iOS8上 org.apache.cordova.geolocation 0.3.10 的PhoneGap 3.5
// Code for Map page
if (page.name === 'map') {
var latitude = page.query.latitude;
var longitude = page.query.longitude;
function success(position) {
var latitude = page.query.latitude;
var longitude = page.query.longitude;
var mapcanvas = document.createElement('div');
mapcanvas.id = 'mapcontainer';
mapcanvas.style.height = '100%';
mapcanvas.style.width = '100%';
document.getElementById('map-wrap').appendChild(mapcanvas);
var coords = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
var malet = new google.maps.LatLng(latitude, longitude);
var options = {
zoom: 10,
center: coords,
mapTypeControl: false,
navigationControlOptions: {
style: google.maps.NavigationControlStyle.SMALL
},
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("mapcontainer"), options);
var marker = new google.maps.Marker({
position: malet,
map: map
});
var address = new google.maps.InfoWindow();
google.maps.event.addListener(marker, 'click', function() {
$$.getJSON('http://maps.googleapis.com/maps/api/geocode/json?latlng=' + latitude + ',' + longitude + '&sensor=true', function(json) {
address.setContent(json.results[0].formatted_address);
});
address.open(map, marker);
});
var infowindow = new google.maps.InfoWindow({
map: map,
position: coords,
content: 'Här är du!'
});
var bounds = new google.maps.LatLngBounds();
bounds.extend(malet);
bounds.extend(coords);
map.fitBounds(bounds)
}
// onError Callback receives a PositionError object
function onError(error) {
switch (error.code) {
case 1:
myApp.alert("Du måste aktivera platstjänser för BAPPen.");
break;
case 2:
myApp.alert("Din position kunde inte fastställas.");
break;
case 3:
myApp.alert("The request to get user location timed out.");
break;
case 4:
myApp.alert("An unknown error occurred.");
break;
}
}
var options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0
};
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success, onError, options);
} else {
error('Geo Location is not supported');
}
}
该问题可能与'config.xml'的路径有关。它是否是上传的一部分?看看http://thejackalofjavascript.com/framework7-phonegap-getting-started/#comment-1676196881 – Arvind 2014-11-04 18:24:40
我发现插件列表中的地理位置,但它仍然不起作用。 @Arvind – Slaffe 2014-11-04 18:33:11