Cordova各个插件使用介绍系列(五)—$cordovaGeolocation获取当前位置
2016-03-18 17:37
330 查看
详情请看:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/cordova-5-cordovageolocation/
$cordovaGeolocation是可以获取当前位置的ngCordova插件,在项目中应用到,在这里讲解一下:
1、首先需要下载此插件,命令是:
2、在JS中的代码如下,这个代码写在相应的控制器里并且依赖‘$cordovaGeolocation’,记得在app.js里依赖‘ngCordova’,这是ngCordova官网的控制器里面的代码,:
3、在项目中,我需要实时监测到地理位置,因此用到了AngularJs里面的$broadcast,$on;$broadcast可以监测到值的变化,而$on就是一旦监测的值发生变化,可以触发到它,结合上面所讲到的获取位置的插件,这样就可以一直监测位置的变化了,代码如下:
在其他需要获得position的控制器里,要添加$on:
这样子只要调用getCurrentPosition()这个函数,然后就可以一直监测到位置数据的变化了
$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()这个函数,然后就可以一直监测到位置数据的变化了
相关文章推荐
- 后台获取当前客户端浏览器的类型
- js之form表单的获取
- linux下c mysql编程函数总结2
- C++虚继承(五) --- 虚拟继承的概念
- mongodb调优那些事(二)-索引
- Fast-RCNN安装与使用(跑demo)
- jxl操作实现导出读取excel
- Android Studio使用技巧:导入第三方类库
- solrconfig.xml配置详解
- caffe特征可视化的代码样例
- 【转】android gravity属性 和 weight属性
- 使用单例模式实现日志写入。附代码
- facl 文件访问控制 setfacl、getfacl
- linux下CMYSQL编程1
- Android与html5交互 -- JavascriptInterface
- Github 项目收藏
- 关于Mainfest.MF文件的总结
- Eclipse关于设置code style的问题
- 机器学习算法汇总:人工神经网络、深度学习及其它
- C语言中内存分配