Javascript navigator.geolocation未定义

Javascript navigator.geolocation未定义,javascript,android,angularjs,cordova,Javascript,Android,Angularjs,Cordova,我正在创建一个AngularJS应用程序,我正在cordova中运行该应用程序,将其转变为一个移动应用程序。现在我想使用cordova的地理定位插件,但显然它返回的是未定义的。 我添加了android作为平台,并调整了manifest和config.xml中的权限 AndroidManifest.xml 奇怪的是。。。它确实进入了onSuccess函数,因为我看到了警报。但是,在我的logcat中,我得到以下错误: 未捕获的TypeError:无法读取处未定义的属性“coords”file://

我正在创建一个AngularJS应用程序,我正在cordova中运行该应用程序,将其转变为一个移动应用程序。现在我想使用cordova的地理定位插件,但显然它返回的是未定义的。 我添加了android作为平台,并调整了manifest和config.xml中的权限

AndroidManifest.xml 奇怪的是。。。它确实进入了onSuccess函数,因为我看到了警报。但是,在我的logcat中,我得到以下错误:

未捕获的TypeError:无法读取处未定义的属性“coords”file:///android_asww/scripts/app.js:80

我是不是遗漏了什么? 提前谢谢
HS.

您正在将$rootScope.onSuccess()传递给地理位置成功处理程序,这意味着,“我希望您运行$rootScope.onSuccess(),结果就是成功处理程序。”您的意思可能是:$rootScope.onSuccess(即,删除paren)

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<feature name="Geolocation">
    <param name="android-package" value="org.apache.cordova.geolocation.GeoBroker" />
</feature>
<feature name="Geolocation">
    <param name="android-package" value="org.apache.cordova.GeoBroker" />
</feature>
<plugin name="Geolocation" value="org.apache.cordova.GeoBroker" />
 $rootScope.onSuccess = function(position) {
        alert('right here');
        $rootScope.pos= {
            latitude: position.coords.latitude,
            longitude: position.coords.longitude,
            timestamp: position.timestamp
        }    
    };

     $rootScope.onError = function(error) {
        alert('code: '    + error.code    + '\n' +
              'message: ' + error.message + '\n');
    }

    navigator.geolocation.getCurrentPosition($rootScope.onSuccess(),   $rootScope.onError());