Use navigator.geolocation or $cordovaGeolocation in Ionic

前端 未结 3 1809
旧时难觅i
旧时难觅i 2020-12-21 03:49

Since I basically can get the same info with both approaches, I\'m wondering which is the preferred one and what are the advantages using one over the other?

相关标签:
3条回答
  • 2020-12-21 04:24

    As far as I remember, on Android that plugin does not do anything at all, and on iOS it prevents the OS asking for access to location over and over.

    Overall the plugin totally conforms the html5 specs, so you shouldn't change anything in your calling code (in js) if you use the plugin.

    And the plugin has a good documentation here: https://github.com/apache/cordova-plugin-geolocation/blob/master/doc/index.md

    0 讨论(0)
  • 2020-12-21 04:30

    It is worth noting that according to the current and oficial documentation (see cordova geolocation doc), there is no need to use $cordovaGeolocation, but rather the global object navigator.geolocation.

    0 讨论(0)
  • 2020-12-21 04:34

    $cordovaGeolocation is angular wrapper over plain javascript plugin, developed by ionic. Now question is why ngCordova was introduced,in simple words to deal it as plugin service as module and inject plugin wrapper as dependency to only particular controller or service.
    On Pratical level, cordova developers were having issues with plugins on angular project. One simple issue was that $scope does not get updated sometimes in simple plugins callback.
    Quoting from ionic blog post :

    The services support promises to make it easier to deal with their asynchronous nature and ensure scope data is properly updated.

    So my conclusion is, you should go with $cordovaGeolocation.

    0 讨论(0)
提交回复
热议问题