ajax调用百度地图api geocoder 等接口无返回的问题

今天需要用到根据经纬度获取用户地理位置信息的接口  ,因为微信公众平台根本就没提供根据经纬度获取用户地理位置的接口,所以需要用到 百度的 geocoder接口 。调用方式为 ajax调用。发现没有返回值,原来ajax调用百度接口涉及到跨域问题 ,所以只需要设置  dataType:"JSONP" 就可以了。

付上我的解决方案

$(document).ready(function(){
    var ak = "xxxxxxxxxx";
    wx.config({
         debug: false,
         appId: "xxxx",
         timestamp: "xxxx",
         nonceStr: "xxxxx",
         signature: "xxxxx",
         jsApiList: [
              'checkJsApi',
            'openLocation',
            'getLocation',
         ]
    });

    wx.ready(function () {
    
          //获取用户位置
          wx.getLocation({
              type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
              success: function (res) {
                   var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
                var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
        
                $.ajax({
                       url: 'https://api.map.baidu.com/geocoder/v2/?ak=xxxxxx&location='+latitude+','+longitude+'&output=json',
                       type: "get",
                       contentType : "application/json",
                       dataType:"JSONP",
                       async : false,
                       success: function(msg){
                           $("#province").val(msg.result.addressComponent.province);
                           $("#city").val(msg.result.addressComponent.city);
                           $("#district").val(msg.result.addressComponent.district);
                           $("#street").val(msg.result.addressComponent.street);
                       }
                });
              },
              cancel:function(){
                  alert('1112');
              }
          });
    });
});

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值