zoukankan      html  css  js  c++  java
  • Cordova各个插件使用介绍系列(五)—$cordovaGeolocation获取当前位置

    详情请看:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/cordova-5-cordovageolocation/

    $cordovaGeolocation是可以获取当前位置的ngCordova插件,在项目中应用到,在这里讲解一下:

    1、首先需要下载此插件,命令是:

    cordova plugin add cordova-plugin-geolocation
    

      

    2、在JS中的代码如下,这个代码写在相应的控制器里并且依赖‘$cordovaGeolocation’,记得在app.js里依赖‘ngCordova’,这是ngCordova官网的控制器里面的代码,:

    module.controller('GeoCtrl', function($cordovaGeolocation) {
    
      var posOptions = {timeout: 10000, enableHighAccuracy: false};
      $cordovaGeolocation
        .getCurrentPosition(posOptions)
        .then(function (position) {
          var lat  = position.coords.latitude
          var long = position.coords.longitude
        }, function(err) {
          // error
        });
    });
    

      

    3、在项目中,我需要实时监测到地理位置,因此用到了AngularJs里面的$broadcast,$on;$broadcast可以监测到值的变化,而$on就是一旦监测的值发生变化,可以触发到它,结合上面所讲到的获取位置的插件,这样就可以一直监测位置的变化了,代码如下:

    module.controller('GeoCtrl', function($cordovaGeolocation) {
    
      function getCurrentPosition()
    	{
    	var posOptions = {timeout: 10000, enableHighAccuracy: false};
      	$cordovaGeolocation
        .getCurrentPosition(posOptions)
        .then(function (position) {
         $rootScope.$broadcast('selfLocation:update', position);
          var lat  = position.coords.latitude
          var long = position.coords.longitude
        }, function(err) {
          // error
        });
    });
    

      

    在其他需要获得position的控制器里,要添加$on:

    $scope.$on('selfLocation:update', function (_, location) {
      //不断更新的值
      $scope.currentPosition = {
        latitude: location.latitude,
        longitude: location.longitude
      };
    });

    这样子只要调用getCurrentPosition()这个函数,然后就可以一直监测到位置数据的变化了

  • 相关阅读:
    centos下修改hosts文件以及生效命令
    CentOS 7 上安装(LAMP)服务 Linux,Apache,MySQL,PHP
    sqlserver下载地址及密匙
    npm/gulp/nodejs
    sp_addlinkedserver 跨服务器连接数据库查询
    sql使用临时表循环
    nodejs和npm
    扫描输入后自动定位到下一个输入框
    Unable to load the specified metadata resource
    mysql保存乱码(C#)
  • 原文地址:https://www.cnblogs.com/xiaojun-zxj/p/5293043.html
Copyright © 2011-2022 走看看