2016-03-22 58 views
2

我目前正處於通過Ionic構建應用程序的初始階段。現在我想要在其中實施科爾多瓦地理定位。但是,打開它時會造成錯誤。爲了測試目的,我使用離子服務並在localhost中檢查它。

angular.module('starter', ['ionic','ionic.service.core', 'ui.router']) 
.controller('AgeCtrl', function ($scope, $state, $http, $cordovaGeolocation) { 


$scope.toggleItem = function (item) { 
    item.checked = !item.checked; 
}; 

$scope.items = [ 
    { id: '0-12' }, 
    { id: '12-18' }, 
    { id: '18-30' }, 
    { id: '30-65' }, 
    { id: '65+' } 
]; 

    $scope.time = Date.now(); 
    $scope.weather = $http.get("http://api.openweathermap.org/data/2.5/weather?q=Amsterdam&units=metric&APPID=...").then(function(resp) { 
    console.log("success", resp); 
    }, function(err) { 
    console.log("error"); 
    }) 

var posOptions = {timeout: 10000, enableHighAccuracy: false}; 
$cordovaGeolocation 
.getCurrentPosition(posOptions) 

.then(function (position) { 
    var lat = position.coords.latitude 
    var long = position.coords.longitude 
    console.log(lat + ' ' + long) 
}, function(err) { 
    console.log(err) 
}); 

$scope.Confirm = function(){ 
    $state.go('home'); 
} 
}) 

有沒有我犯過一個錯誤導致這個問題的地方?

+0

您是否已將該插件正確添加到應用程序中? –

+0

也做了一個新項目並在那裏嘗試過。再次運行它會顯示「插件cordova-plugin-geolocation已經安裝在android上」 – patrick

回答

0

我認爲它沒有被引用爲$cordovaGeolocation in ionic。改爲嘗試navigator.geolocation.getCurrentPosition

+0

這似乎工作是的! – patrick

1

Ionic serve僅在瀏覽器中模擬應用程序。 您無法訪問瀏覽器內的Cor​​dova插件。

要獲得包含的庫,您需要在添加特定平臺後根據您擁有的設備在設備上運行應用程序。

對於iOS:

Ionic platform add ios

爲Android:

ionic platform add android

後的平臺上添加你可以建立和使用下面的命令

對於iOS設備上運行:

ionic run iOS

For android:

ionic run android

+0

不幸的是我有問題直接運行它。我嘗試製作一個APK並直接安裝到我的手機上,不幸的是它仍然無法運行 – patrick

+0

還有3種其他的可能性:1.在Visual Studio 2015中運行它,它具有內置仿真器的跨平臺工具,用於定位和運動與波紋。 2.嘗試將您的應用程序加載到ionic.io,然後將其下載到「離子視圖」應用程序中。 3.將它構建爲一個包,並使用APK在本機模擬器上運行它。 –

+0

當你的手機上運行它(android我假設)你有開發模式和USB調試活動 –

1

我認爲這個問題與您的ngCordova安裝有關。 做下面的步驟 -

1-安裝-------------->亭子安裝ngCordova

-2-包括index.html中上述cordova.js ----- -------------> script src =「lib/ngCordova/dist/ng-cordova.js」

3- inject ------------- > angular.module(starter,['ngCordova'])

運行IONIC服務和問題將不復存在。如果它仍然顯示/ dist/ngCordova不存在的錯誤,那麼在手動安裝cordova的位置並將其複製到路徑例如 -/lib/ngCordova/dist/...

它肯定會解決您的問題

相關問題