angularJs 实现手机端签到功能(高德api)
来源:互联网 发布:磁力 积木 淘宝 编辑:程序博客网 时间:2024/06/05 22:29
近期的项目需要借用高德地图API完成位置签到功能,借助高德地图javascript API和angularjs完成了一个简单的高德地图签到功能
index.html
<!DOCTYPE html><html><head><meta charset="UTF-8"><base href="/MapSign/" /><!-- 本地 --><!--<base href="/" />--><!-- 服务器 --><meta name="renderer" content="webkit|ie-comp|ie-stand"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><!-- 禁浏览器缓存 --><META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-store, must-revalidate"> <META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT"> <META HTTP-EQUIV="expires" CONTENT="0"><meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no"><link rel="shortcut icon" href="img/bitbug_favicon (1).png" type="image/png"><title ng-bind="$state.current.data.pageTitle"></title><script type="text/javascript" src="js/jquery-2.1.1.min.js"></script><!-- 描述:angularjs及相关js文件的加载 ----start------ --><script type="text/javascript" src="js/angular.min-1.4.6.js"></script><script type="text/javascript" src="js/angular-ui-router.js"></script><script src="js/jquery-labelauty.js"></script><script type="text/javascript" src="custom-js/csApp.js"></script><script type="text/javascript" src="custom-js/csRouteApp.js"></script><script type="text/javascript" src="custom-js/loginController.js" ></script><script type="text/javascript" src="custom-js/loginService.js" ></script><script type="text/javascript" src="custom-js/commonService.js" ></script><script type="text/javascript" src="custom-js/filter.js" ></script><script type="text/javascript" src="custom-js/pageWidget.js" ></script><script type="text/javascript" src="custom-js/menuController.js" ></script><script type="text/javascript" src="custom-js/signController.js" ></script><script type="text/javascript" src="custom-js/footerSelectController.js" ></script><!--门户部分--><script src="js/jquery-ui-1.9.2.custom.min.js"></script><script src="js/jquery-migrate-1.2.1.min.js"></script><script src="js/bootstrap.min.js"></script><script src="js/modernizr.min.js"></script><script src="js/jquery.nicescroll.js"></script><script type="text/javascript" language="javascript" src="js/advanced-datatable/js/jquery.dataTables.js"></script><script type="text/javascript" src="js/data-tables/DT_bootstrap.js"></script><script src="js/dynamic_table_init.js"></script><script type="text/javascript" src="js/bootstrap-fileupload.min.js"></script><script type="text/javascript" src="js/swiper-3.3.1.min.js"></script><!--<script type="text/javascript" src="js/jquery.js"></script>--><!-- 地图显示JS--><script type="text/javascript" src="http://webapi.amap.com/maps?v=1.3&key=697229d8834680c256acd24f626297b6"></script><script src="http://webapi.amap.com/ui/1.0/main.js"></script> <link rel="stylesheet" href="css/common.css" /><link rel="stylesheet" href="css/feedback-page.css" /><link rel="stylesheet" href="css/feedback.css" /><link rel="stylesheet" href="css/mui.css" /><link rel="stylesheet" href="css/mui.min.css" /><link rel="stylesheet" href="css/mui.picker.min.css" /><link rel="stylesheet" href="css/style.css" /> <link rel="stylesheet" href="css/zyUpload.css" type="text/css"><link rel="stylesheet" href="css/reset.css" /><link rel="stylesheet" href="css/myfootprint.css" /><link rel="stylesheet" href="css/teamfootprint.css" /><link rel="stylesheet" href="css/sign-detail.css" /><link rel="stylesheet" href="css/signin-details.css" /><link rel="stylesheet" type="text/css" href="css/signin.css"/><script>document.documentElement.style.fontSize = document.documentElement.clientWidth / 7.5 + 'px';</script></head><body style="{{cssUrl}}"><div ui-view></div></body></html>
csRouteApp.js
var csRouteApp = angular.module("CsRouteApp", ['ui.router']);csRouteApp.config(function($stateProvider, $urlRouterProvider,$locationProvider,$httpProvider) {if (!$httpProvider.defaults.headers.get) { $httpProvider.defaults.headers.get = {}; } $httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest'; //禁用IE对ajax的缓存 $httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache'; $httpProvider.defaults.headers.get['Pragma'] = 'no-cache'; $httpProvider.defaults.headers.get['If-Modified-Since'] = '0';$urlRouterProvider.otherwise('/login');$stateProvider.state('home', {url: '/home',views: {'': {templateUrl: 'html/home.html'},'main@home': {templateUrl: 'html/main.html'},'foot@home': {templateUrl: 'html/foot.html'},},data: {pageTitle: '首页',}}).state('login', {url: '/login',templateUrl: 'html/login.html',data: {pageTitle: '登录'}})/****签到****/.state('home.mapSignMain', {url: '/mapSignMain',views: {'': {templateUrl: 'html/home.html'},'main@home': {templateUrl: 'html/mapSign.html'},'foot@home': {templateUrl: 'html/foot.html'},},data: {pageTitle: '签到'}}).state('home.mapSignAdd', {url: '/mapSignAdd/:lng/:lat/:locationUrl',views: {'': {templateUrl: 'html/home.html'},'main@home': {templateUrl: 'html/mapSignAdd.html'},'foot@home': {templateUrl: 'html/foot.html'},},data: {pageTitle: '签到'}})/****签到****/$locationProvider.html5Mode(false);});signontroller.js
var app1 = angular.module("SignController",["CommonService"]);app1.controller("mapSignMainCtr", function($scope, $state, $stateParams, $compile, $rootScope, $http,commonService,sessionService) {/** * 初始化地址 */ $scope.address; /** * 初始化经度 纬度 */ $scope.longitude; $scope.latitude; $scope.map;//存放初始化的地图对象 $scope.geolocation; $scope.geocoder;// var position=new AMap.LngLat(121.119255,31.2911); $scope.map = new AMap.Map("container",{ resizeEnable: true, zoom: 14, zoomEnable:false, dragEnable: false }); var marker = new AMap.Marker({ map:$scope.map, bubble:true })var geocoder;$scope.map.plugin(['AMap.Geolocation','AMap.Geocoder'],function(){var geolocation = new AMap.Geolocation({ enableHighAccuracy: true,//是否使用高精度定位,默认:true timeout: 10000, //超过10秒后停止定位,默认:无穷大 maximumAge: 0, //定位结果缓存0毫秒,默认:0 convert: true, //自动偏移坐标,偏移后的坐标为高德坐标,默认:true showButton: true, //显示定位按钮,默认:true buttonPosition: 'LB', //定位按钮停靠位置,默认:'LB',左下角 buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20) showMarker: true, //定位成功后在定位到的位置显示点标记,默认:true showCircle: true, //定位成功后用圆圈表示定位精度范围,默认:true panToLocation: true, //定位成功后将定位到的位置作为地图中心点,默认:true zoomToAccuracy:true, //定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false bubble:true });geocoder = new AMap.Geocoder({ radius: 1000, extensions: "all", city: "全国"//城市,默认:“全国” }); $scope.map.addControl(geolocation); geolocation.getCurrentPosition(); AMap.event.addListener(geolocation, 'complete', onComplete);//返回定位信息 AMap.event.addListener(geolocation, 'error', onError); //返回定位出错信息 //解析定位结果 function onComplete(data) { $scope.longitude = data.position.getLng(); $scope.latitude = data.position.getLat(); var lnglatXY = $scope.map.getCenter(); //获取地图中心点 geocoder.getAddress(lnglatXY,function(status,result){ if(status=='complete'){ $scope.address = ""+result.regeocode.formattedAddress; document.getElementById('address').value = $scope.address; } }) } //解析定位错误信息 function onError(data) { document.getElementById('mapSignAdd').disabled = true; } }); $scope.map.on('click',function(e){ marker.setPosition(e.lnglat); geocoder.getAddress(e.lnglat,function(status,result){ if(status=='complete'){ $scope.address = result.regeocode.formattedAddress; document.getElementById('address').value = $scope.address; } })}) /** * 前往签到页面 */$scope.toAddMapSign = function(){$state.go("home.mapSignAdd", {lng:$scope.longitude,lat:$scope.latitude,locationUrl:$scope.address});}});
mapsign.html
<div class="hsignin-content" ng-controller="mapSignMainCtr"><div id="container" class="hmapwrap"></div><div class="hsigntime"><img src="img/volunteericon.png" class="hsignclock"/><input id="address" type="text" class="mui-input-clear mui-input sign-input" style="border-radius: 0px" ng-disabled="true"></div><div class="hroundwrap"><span class="hsignbutton" ng-click="toAddMapSign()">签到</span></div></div>
阅读全文
0 0
- angularJs 实现手机端签到功能(高德api)
- root手机实现自动签到等自动化功能
- php实现签到功能
- php实现签到功能
- php实现签到功能
- php实现签到功能
- Android签到功能的实现
- js实现每日签到功能
- 自定义Calendar实现签到功能
- PHP简单签到功能实现
- 自定义日历 实现签到功能
- 微信小程序签到功能实现
- Android编程——高德API使用心得(一)之定位功能的实现
- 《移动端签到》——利用 JavaScript API实现定位
- 蓝牙实现签到功能(中央与周边)
- 基于Redis bitmap实现签到功能
- jquery+spring实现每日签到功能
- app每月签到功能简单实现
- 基于Dragonboard 410c的指纹锁(七)
- 最愚蠢的错误,没有之一!module 're' has no attribute 'findall'
- vim/vi操作总结
- Android studio 下载地址
- iOS UITableViewCell自适应高度单元格问题?
- angularJs 实现手机端签到功能(高德api)
- Perl
- Androd加载大图片 不崩 但是显示黑屏的问题
- 个人小笔记
- Linux常用命令之搜索命令
- eclipse安装SVN报错
- 深度学习笔记整理-pycharm环境下开发及运行
- kotlin-lib
- unix域套接字