我正在使用英特爾XDK開發應用程序,我在這裏專門用android(Nexus 6P)進行測試。如果位置服務關閉,英特爾XDK地理位置不會找到經緯度
我已經爲科爾多瓦添加了科爾多瓦地理位置插件以及Google位置服務,並且已開始測試我的位置服務,並且它正確地獲得了插件的位置。
但是,當我關閉位置服務時,什麼也沒有出現。
這是我目前使用獲得的位置代碼:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
var Geo={};
if (navigator.geolocation) {
console.log('Started location');
console.log(cordova.plugins.locationServices.geolocation.getCurrentPosition(success, error));
//navigator.geolocation.getCurrentPosition(success, error, {enableHighAccuracy:true, maximumAge:Infinity, timeout:100000});
}
//Get the latitude and the longitude;
function success(position) {
console.log('SUCCESS location');
Geo.lat = position.coords.latitude;
Geo.lng = position.coords.longitude;
populateHeader(Geo.lat, Geo.lng);
}
function error(){
console.log("Geocoder failed");
}
function populateHeader(lat, lng){
$('#Lat').attr('data-lat', lat);
$('#Long').attr('data-long',lng);
}
}
我後,要麼要求用戶對位置數據切換的方式,或者甚至更好的是獲得用戶的位置而不需要位置服務。
好的很酷。那麼有沒有一種方法可以讓我的應用程序打開位置數據設置,以便像其他應用程序一樣使用XDK? –
如果它不在您使用的插件中(我認爲它們只提供地理API)或者某些巧妙使用意圖(有插件),則需要Cordova插件。搜索一個Cordova或PhoneGap插件來做這件事,或者檢查它是如何在本地Java中完成的,如果它可以用意圖完成(我不知道它是如何完成的)。如果必須使用插件完成,您可以修改其中一個地理插件來添加額外的API調用來實現這一點 - 這些插件的其中一個優點是開源。 :) – xmnboy
太棒了。我確實有一個很好的舊面貌,但不能完全找到我在這方面尋找的東西,但我會深入挖掘並在接下來的幾個小時內彙報。非常感謝你! –