zoukankan      html  css  js  c++  java
  • 获取用户当前位置信息的两种方法——H5、微信

    在之前的 调用百度地图API的总结 中获取当前位置信息我用的是 H5 ,其实微信也提供了获取用户地理位置的方法,现将这两种方法都贴出来,看情况选择使用。

    一、H5 获取当前地理位置得到经纬度

       // H5 获取当前位置经纬度
        var location_lon = '',location_lat = ''; // 经度,纬度
        if (navigator.geolocation){
            navigator.geolocation.getCurrentPosition(function (position) {
                location_lon = position.coords.longitude;
                location_lat = position.coords.latitude;
               // alert('h5经度:'+location_lon);alert('h5纬度:'+location_lat);
            });
        }else {
            alert("您的设备不支持定位功能");
        }

    二、微信公众平台(地理位置)

    微信有获取用户地理位置的接口,在 wx.config 中配置就可以用了:

    wx.config({
        debug: true, 
        appId: '', // 必填,公众号的唯一标识
        timestamp: , // 必填,生成签名的时间戳
        nonceStr: '', // 必填,生成签名的随机串
        signature: '',// 必填,签名
        jsApiList: ['getLocation'] // 必填,需要使用的JS接口列表
    });

    获得权限后就可以直接使用 wx.getLocation() 方法获得用户的地理位置了:

    wx.getLocation({
       type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
       success: function (res) {
          var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
          var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
          var speed = res.speed; // 速度,以米/每秒计
          var accuracy = res.accuracy; // 位置精度
       }
    });

    三、地理位置配合地图展示

    获得的经纬度可以使用百度地图或者高德地图展示,微信内置地图也可以查看位置:

    wx.openLocation({
       latitude: 0, // 纬度,浮点数,范围为90 ~ -90
       longitude: 0, // 经度,浮点数,范围为180 ~ -180。
       name: '', // 位置名
       address: '', // 地址详情说明
       scale: 1, // 地图缩放级别,整形值,范围从1~28。默认为最大
       infoUrl: '' // 在查看位置界面底部显示的超链接,可点击跳转
    });
  • 相关阅读:
    HDU 4339 Query
    Another app is currently holding the yum lock解决方法
    m0n0wall安装教程
    网盘
    kali 网络配置
    monowall
    Windows server 2012安装vmtools遇到的问题
    利用WPF建立自适应窗口大小布局的WinForm窗口
    wpf倒影效果
    SQL 进制间如何转换
  • 原文地址:https://www.cnblogs.com/lyr1213/p/9186330.html
Copyright © 2011-2022 走看看