zoukankan      html  css  js  c++  java
  • 【小程序爬坑之路】获取地理位置信息

    前言由于小程序只提供了外面一个获取地理位置、速度的api,并没有获取的相关地位位置的信息等等,因此我们还需要借助一些第三方的api来实现

    小程序关于地理位置文档

    api:https://developers.weixin.qq.com/miniprogram/dev/api/location.html,

    组件:https://developers.weixin.qq.com/miniprogram/dev/component/map.html

    实现:

    一、使用百度地图的api来获取地理位置的信息

    第一步:先去百度开放平台申请akhttp://lbsyun.baidu.com

    http://lbsyun.baidu.com/index.php?title=wxjsapi/guide/key

    http://lbsyun.baidu.com/apiconsole/key?application=key

    第二步:创建应用

    第三步:获取密钥(AK)(输入小程序appid)

    第四步:在小程序公众平台配置request合法域名(https://api.map.baidu.com)

    第五步:下载百度地图api

    第六步:在所需的js文件内导入js

    // 引用百度地图,注意:require传入一个相对路径
    var bmap = require('../../libs/bmap-wx/bmap-wx.js'); 

    第七步:编辑代码

    wxml:

    1. <view>
    2. <viwe>经度:{{longitude}}</viwe>
    3. <view>纬度:{{latitude}}</view>
    4. <view>地址:{{address}}</view>
    5. </view>

    js:

    // 引用百度地图微信小程序JSAPI模块   
    var bmap = require('../../libs/bmap-wx/bmap-wx.min.js');  
    var wxMarkerData = [];  //定位成功回调对象  
    Page({  
      data:{  
        ak:"FHG7utZtdyXCCAb",   //填写申请到的ak  
        markers: [],  
        longitude:'',   //经度  
        latitude:'',    //纬度  
        address:''      //地址  
      },  
      onLoad:function(options){  
        var that = this;  
        /* 获取定位地理位置 */  
        // 新建bmap对象   
        var BMap = new bmap.BMapWX({   
            ak: that.data.ak   
        });   
        var fail = function(data) {   
            console.log(data);  
        };   
        var success = function(data) {   
            //返回数据内,已经包含经纬度  
            console.log(data);  
            //使用wxMarkerData获取数据  
            wxMarkerData = data.wxMarkerData;    
            //把所有数据放在初始化data内  
            that.setData({   
                markers: wxMarkerData,  
                latitude: wxMarkerData[0].latitude,  
                longitude: wxMarkerData[0].longitude,  
                address: wxMarkerData[0].address  
            });   
        }   
        // 发起regeocoding检索请求   
        BMap.regeocoding({   
            fail: fail,   
            success: success  
        });       
      }  
    })  

     参考文档:http://www.wxapp-union.com/portal.php?mod=view&aid=1370

    二、使用腾讯地图的api来获取地理位置的信息(和百度地图差不太多)

    ①申请开发者密钥

    ②下载微信小程序JavaScriptSDK

    ③设置→开发设置→request:https://apis.map.qq.com

    ④导入js

    ⑤编辑代码

     参考文档:https://www.jianshu.com/p/f9d1e1e91808

    http://lbs.qq.com/qqmap_wx_jssdk/index.html

    三、使用高德地图的api来获取地理位置的信息(和百度地图差不太多)

    源码参考:https://github.com/brandonxiang/weapp-map

  • 相关阅读:
    网页返回码大全
    求数组中子数组的最大和
    什么是面向对象?面向对象与面向过程的区别?
    Java内部类
    Java拆箱装箱
    linux中su和sudo区别
    Linux 中账户管理
    解决warn appiumdoctor bin directory for $java_home is not set
    Moco之include
    Mock server 之 Moco的使用
  • 原文地址:https://www.cnblogs.com/teemor/p/8847573.html
Copyright © 2011-2022 走看看