h***@163.com
h***@163.com
  • 发布:2022-11-30 16:21
  • 更新:2022-11-30 16:21
  • 阅读:331

html制作腾讯地图定位

分类:HTML5+
<html>  

<head>  
  <meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0,minimum=1.0,user-scalable=no">  
  <style type="text/css">  
    #mapWrap {  
      margin: 10px 0;  
      width: 100%;  
      height: 300px;  
    }  
  </style>  
</head>  

<body>  
  <p>HTML5定位功能</p>  
  <p>您的纬度:<span id="latitude"></span></p>  
  <p>您的精度:<span id="longitude"></span></p>  
  <p id="errMsg"></p>  

  <button id="openTXMap">开启腾讯地图</button>  
  <div id="mapWrap"></div>  

  <script>  
    var latitude, longitude  

    if (navigator.geolocation) {  
      console.log("支持")  
      navigator.geolocation.getCurrentPosition(showPosition, showError)  
      // navigator.geolocation.watchPosition(showPosition, showError)     
    }  
    else {  
      console.log("不支持")  
    }  

    function showPosition(position) {  
      document.querySelector('#latitude').innerText = position.coords.latitude  
      document.querySelector('#longitude').innerText = position.coords.longitude  
      // 这里做了经纬度偏差的修正  
      latitude = position.coords.latitude - 0.002463  
      longitude = position.coords.longitude + 0.005591  
    }  

    function showError(error) {  
      errMsg = document.querySelector('#errMsg')  

      switch (error.code) {  
        case error.PERMISSION_DENIED:  
          // User denied the request for Geolocation.  
          errMsg.innerText = "定位失败,用户拒绝请求地理定位"  
          break;  
        case error.POSITION_UNAVAILABLE:  
          // Location information is unavailable.  
          errMsg.innerText = "定位失败,位置信息是不可用"  
          break;  
        case error.TIMEOUT:  
          // The request to get user location timed out.  
          errMsg.innerText = "定位失败,请求获取用户位置超时"  
          break;  
        case error.UNKNOWN_ERROR:  
          // An unknown error occurred.  
          errMsg.innerText = "定位失败,定位系统失效"  
          break;  
      }  
    }  

    function init() {  
      var myLatlng = new qq.maps.LatLng(latitude, longitude);  
      var myOptions = {  
        zoom: 16,  
        center: myLatlng  
      };  
      var map = new qq.maps.Map(document.getElementById("mapWrap"), myOptions);  
    }  

    function loadScript() {  
      var script = document.createElement("script");  
      script.type = "text/javascript";  
      script.src = "https://map.qq.com/api/js?v=2.exp&callback=init";  
      document.body.appendChild(script);  
    }  

    document.getElementById("openTXMap").onclick = function () {  
      loadScript()  
      init()  
    }  

  </script>  
</body>

为了这条文章不丢失,请把点在和关注点亮,谢谢大家!

0 关注 分享

要回复文章请先登录注册