由于我基本上可以使用这两种方法获得相同的信息,我想知道哪一种是首选的,哪一种优于另一种?
答案 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。