在Ionic中使用navigator.geolocation或$ cordovaGeolocation

时间:2015-09-01 12:09:22

标签: ionic-framework ionic

由于我基本上可以使用这两种方法获得相同的信息,我想知道哪一种是首选的,哪一种优于另一种?

3 个答案:

答案 0 :(得分:5)

$cordovaGeolocation是普通javascript插件的角度包装器,由ionic开发。现在的问题是为什么引入ngCordova,用简单的话来说它将插件服务作为模块处理,并将插件包装器作为依赖关系仅用于特定的控制器或服务。
在Pratical级别,cordova开发人员遇到了角度项目插件的问题。一个简单的问题是$scope有时在简单的插件回调中不会更新 引自离子blog post

  

服务支持承诺可以更轻松地处理他们的问题   异步性并确保范围数据得到适当更新。

所以我的结论是,你应该选择$cordovaGeolocation

答案 1 :(得分:2)

据我所知,在Android上,该插件根本不做任何事情,而且在iOS上它会阻止操作系统一遍又一遍地要求访问位置。

总体而言,该插件完全符合html5规范,因此如果您使用插件,则不应更改调用代码中的任何内容(以js为单位)。

这个插件在这里有一个很好的文档:https://github.com/apache/cordova-plugin-geolocation/blob/master/doc/index.md

答案 2 :(得分:1)

值得注意的是,根据当前和官方文档(参见cordova geolocation doc),不需要使用$ cordovaGeolocation,而是使用全局对象navigator.geolocation。