全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

AngularJs 利用百度地图API 定位当前位置 获取地址信息

第一、申请百度密钥  很简单的几步就搞定

第二、引入文件

<!-- 百度地图定位 -->
<script src="http://api.map.baidu.com/components?ak=WUfZTjKPuZ2G5RmgD0Psejv6XOmIEQVQ"></script> 
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=WUfZTjKPuZ2G5RmgD0Psejv6XOmIEQVQ"></script> 

第三、绑定数据到你要显示的输入框内

完整地址:<input type="text" ng-model="all"/><br>
所处城市:<input type="text" ng-model="shi"/><br>
所处区域:<input type="text" ng-model="qu"/><br>
所处街道:<input type="text" ng-model="jiedao"/> 

第四、控制器中代码

angular.module('myApp')
.controller('myCtrl',function($scope) {
 //获取地理位置信息 
   $scope.getAddr = function() { 
    var geolocation = new BMap.Geolocation(); 
    geolocation.getCurrentPosition( 
     //获取位置信息成功 
     function(position){ 
      if(this.getStatus() == BMAP_STATUS_SUCCESS){ 
       $scope.longitude = position.point.lng; 
       $scope.latitude = position.point.lat; 
       // 根据坐标得到地址描述  
       $scope.getGeo(); 
      }  
     },{ 
      // 指示浏览器获取高精度的位置,默认为false 
      enableHighAccuracy: true, 
      // 指定获取地理位置的超时时间,默认不限时,单位为毫秒 
      // timeout: 5000, 
      // 最长有效期(30S),在重复获取地理位置时,此参数指定多久再次获取位置 
      maximumAge: 30*1000 
     }); 
   }; 
  $scope.getGeo = function() {
  var myGeo = new BMap.Geocoder();
  // 根据坐标得到地址描述
  myGeo.getLocation(new BMap.Point($scope.longitude,$scope.latitude),
  function(result) {
   if (result) {
   $scope.geoaddress = {
   'fulladdress' : result.addressComponents.city+ result.addressComponents.district+ result.addressComponents.street,
   'city' : result.addressComponents.city,
   'area' : result.addressComponents.district,
   'street' : result.addressComponents.street,
   };
   $scope.all = result.addressComponents.city+ result.addressComponents.district+ result.addressComponents.street;
   $scope.shi = result.addressComponents.city;
   $scope.qu = result.addressComponents.district;
   $scope.jiedao = result.addressComponents.street;
   alert(JSON.stringify($scope.all))
   } else {
   $scope.showAlert("定位失败,地址解析失败");
   }
  });
  };
  } ]);

第五、完整代码如下:(大体思路就是这样!这里做个标记留给以后的自己)

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
<script src="http://api.map.baidu.com/components?ak=WUfZTjKPuZ2G5RmgD0Psejv6XOmIEQVQ"></script> 
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=WUfZTjKPuZ2G5RmgD0Psejv6XOmIEQVQ"></script> 
<body>
<div ng-app="myApp" ng-controller="myCtrl">
<button type="button" ng-click='getAddr()'>点击定位</button><br>
完整地址:<input type="text" ng-model="all"/><br>
所处城市:<input type="text" ng-model="shi"/><br>
所处区域:<input type="text" ng-model="qu"/><br>
所处街道:<input type="text" ng-model="jiedao"/>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  //获取地理位置信息 
 $scope.getAddr = function() { 
 var geolocation = new BMap.Geolocation(); 
 geolocation.getCurrentPosition( 
 //获取位置信息成功 
 function(position){ 
 if(this.getStatus() == BMAP_STATUS_SUCCESS){ 
  $scope.longitude = position.point.lng; 
  $scope.latitude = position.point.lat; 
  // 根据坐标得到地址描述  
  $scope.getGeo(); 
  }  
  },{ 
  // 指示浏览器获取高精度的位置,默认为false 
  enableHighAccuracy: true, 
  // 指定获取地理位置的超时时间,默认不限时,单位为毫秒 
  // timeout: 5000, 
  // 最长有效期(30S),在重复获取地理位置时,此参数指定多久再次获取位置 
  maximumAge: 30*1000 
  }); 
  }; 
  $scope.getGeo = function() {
  var myGeo = new BMap.Geocoder();
  // 根据坐标得到地址描述
  myGeo.getLocation(new BMap.Point($scope.longitude,$scope.latitude),
  function(result) {
  if (result) {
   $scope.geoaddress = {
   'fulladdress' : result.addressComponents.city+ result.addressComponents.district+ result.addressComponents.street,
   'city' : result.addressComponents.city,
   'area' : result.addressComponents.district,
   'street' : result.addressComponents.street,
   };
   $scope.all = result.addressComponents.city+ result.addressComponents.district+ result.addressComponents.street;
   $scope.shi = result.addressComponents.city;
   $scope.qu = result.addressComponents.district;
   $scope.jiedao = result.addressComponents.street;
   alert(JSON.stringify($scope.all))
   } else {
   $scope.showAlert("定位失败,地址解析失败");
   }
  });
  };
});
</script>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# AngularJs  # 百度地图  # javascript+mapbar实现地图定位  # js实现百度地图定位于地址逆解析  # 显示自己当前的地理位置  # Android百度地图定位后获取周边位置的实现代码  # 基于Android实现百度地图定位过程详解  # ios百度地图的使用(普通定位、反地理编码)  # 微信小程序 地图定位简单实例  # Android百度地图实现搜索和定位及自定义图标绘制并点击时弹出泡泡  # nodejs根据ip数组在百度地图中进行定位  # 所处  # 默认为  # 多久  # 不限时  # 你要  # 很简单  # 做个  # 几步  # 绑定  # 输入框  # 器中  # ng  # qu  # shi  # br  # jiedao  # model  # js  # var  # getAddr 


相关文章: 网站制作培训多少钱一个月,网站优化seo培训课程有哪些?  如何用wdcp快速搭建高效网站?  北京网站制作的公司有哪些,北京白云观官方网站?  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  常州企业建站如何选择最佳模板?  购物网站制作公司有哪些,哪个购物网站比较好?  香港服务器租用每月最低只需15元?  微信小程序 input输入框控件详解及实例(多种示例)  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  小型网站制作HTML,*游戏网站怎么搭建?  网站设计制作企业有哪些,抖音官网主页怎么设置?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  jQuery 常见小例汇总  建站之星IIS配置教程:代码生成技巧与站点搭建指南  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  文字头像制作网站推荐软件,醒图能自动配文字吗?  开源网站制作软件,开源网站什么意思?  详解jQuery停止动画——stop()方法的使用  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  如何在服务器上三步完成建站并提升流量?  移民网站制作流程,怎么看加拿大移民官网?  再谈Python中的字符串与字符编码(推荐)  怀化网站制作公司,怀化新生儿上户网上办理流程?  制作网站公司那家好,网络公司是做什么的?  北京企业网站设计制作公司,北京铁路集团官方网站?  建站主机与虚拟主机有何区别?如何选择最优方案?  设计网站制作公司有哪些,制作网页教程?  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  实现虚拟支付需哪些建站技术支撑?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  如何选择高效稳定的ISP建站解决方案?  教学论文网站制作软件有哪些,写论文用什么软件 ?  安徽网站建设与外贸建站服务专业定制方案  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  建站之星上传入口如何快速找到?  如何在西部数码注册域名并快速搭建网站?  历史网站制作软件,华为如何找回被删除的网站?  如何在万网主机上快速搭建网站?  如何在阿里云ECS服务器部署织梦CMS网站?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  如何注册花生壳免费域名并搭建个人网站?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  如何制作网站标识牌,动态网站如何制作(教程)?  宝塔新建站点报错如何解决?  c++ stringstream用法详解_c++字符串与数字转换利器  宝华建站服务条款解析:五站合一功能与SEO优化设置指南  ppt制作免费网站有哪些,ppt模板免费下载网站?  如何在宝塔面板创建新站点?  如何用PHP快速搭建CMS系统? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。