全网整合营销服务商

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

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

基于JavaScript定位当前的地理位置

本文实例为大家分享了js定位当前地理位置的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0,user-scalable=no">
  <title>Title</title>
</head>
<body>
您目前在<p></p>
</body>
<script>
  //定义一个空的位置构造函数
  function Location(){};
  //定义一个可以获得经纬度的方法
  Location.prototype.getLocation = function(callback){
    var options = {
      enableHighAccuracy: true,
      maximumAge: 1000
    };
    this.callback = Object.prototype.toString.call(callback) =="[object Function]" ?
        callback :
        function(address){
          alert(address.province + address.city);
          console.log("getocation(callbackFunction) 可获得定位信息对象");
        };
    var self = this;
    if (navigator.geolocation) {
      //浏览器支持geolocation
      navigator.geolocation.getCurrentPosition(function(position){
        //经度
        var longitude = position.coords.longitude;
        //纬度
        var latitude = position.coords.latitude;
        self.loadMapApi(longitude,latitude);
      }, self.onError, options);
    } else {
      //浏览器不支持geolocation
    }
  };
  //定义一个可以解析经纬度的方法,调用百度的api
  Location.prototype.loadMapApi = function(longitude, latitude){
    var self = this;
    var oHead = document.getElementsByTagName('HEAD').item(0);
    var oScript= document.createElement("script");
    oScript.type = "text/javascript";
    oScript.src="http://api.map.baidu.com/getscript?v=2.0&amp;ak=A396783ee700cfdb9ba1df281ce36862&amp;services=&amp;t=20140930184510";
    oHead.appendChild(oScript);
    oScript.onload = function(date){
      var point = new BMap.Point(longitude, latitude);
      var gc = new BMap.Geocoder();
      gc.getLocation(point, function(rs) {
        var addComp = rs.addressComponents;
        self.callback(addComp);
      });
    }
  };
  //定义出现查询位置出现意外的方法
  Location.prototype.onError = function(error) {
    switch (error.code) {
      case 1:
        alert("位置服务被拒绝");
        break;
      case 2:
        alert("暂时获取不到位置信息");
        break;
      case 3:
        alert("获取信息超时");
        break;
      case 4:
        alert("未知错误");
        break;
    }
  };
  //调用
  var local = new Location();
  local.getLocation(function(res){
    var str=""
    for(i in res ){
      str=res[i]+str
    }
    document.querySelector("p").innerHTML=str;
  })
</script>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js  # 定位  # 地理位置  # 使用JS获取当前地理位置方法汇总  # JS获取当前地理位置的方法  # JavaScript获取用户所在城市及地理位置  # 使用JS获取当前地理位置的2种方法举例  # 不支持  # 您目前  # 大家分享  # 可以获得  # 具体内容  # 大家多多  # 被拒  # getLocation  # prototype  # str  # options  # var  # callback  # Location  # body  # Title 


相关文章: 湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  大连网站设计制作招聘信息,大连投诉网站有哪些?  建站之星安装步骤有哪些常见问题?  建站之星CMS建站配置指南:模板选择与SEO优化技巧  重庆市网站制作公司,重庆招聘网站哪个好?  如何选择可靠的免备案建站服务器?  如何快速搭建FTP站点实现文件共享?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  建站主机类型有哪些?如何正确选型  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  如何在万网主机上快速搭建网站?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  如何配置IIS站点权限与局域网访问?  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  如何注册花生壳免费域名并搭建个人网站?  Swift开发中switch语句值绑定模式  攀枝花网站建设,攀枝花营业执照网上怎么年审?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何快速生成ASP一键建站模板并优化安全性?  制作表格网站有哪些,线上表格怎么弄?  家具网站制作软件,家具厂怎么跑业务?  如何做静态网页,sublimetext3.0制作静态网页?  javascript中对象的定义、使用以及对象和原型链操作小结  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  装修招标网站设计制作流程,装修招标流程?  油猴 教程,油猴搜脚本为什么会网页无法显示?  网站制作公司排行榜,四大门户网站排名?  如何获取开源自助建站系统免费下载链接?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  Swift中swift中的switch 语句  Python如何创建带属性的XML节点  公司网站设计制作厂家,怎么创建自己的一个网站?  c# 在ASP.NET Core中管理和取消后台任务  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  C#如何序列化对象为XML XmlSerializer用法  如何通过NAT技术实现内网高效建站?  家庭服务器如何搭建个人网站?  定制建站流程步骤详解:一站式方案设计与开发指南  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  如何选择服务器才能高效搭建专属网站?  javascript中的try catch异常捕获机制用法分析  如何通过宝塔面板实现本地网站访问?  建站主机选虚拟主机还是云服务器更好?  Java解压缩zip - 解压缩多个文件或文件夹实例  建站之星微信建站一键生成小程序+多端营销系统  音乐网站服务器如何优化API响应速度?  建设网站制作价格,怎样建立自己的公司网站? 

您的项目需求

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