//获取code
var url = location.href.split('#')[0];
var area=getUrlParams("area");
if(!area){
//获取signInfo
$.ajax({
url: "url",
type: "post",
dataType: "json",
data: {"url": url},
async: false,
success: function (data) {
if (data) {
initWxConfig(data);
}
},
error: function () {
$.attr("微信初始化失败");
}
});
function initWxConfig(data) {
wx.config({
// 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,
debug: false,
// 必填,企业号的唯一标识,此处填写企业号corpid
appId: data.appidInfo,
// 必填,生成签名的时间戳
timestamp: data.timestamp,
// 必填,生成签名的随机串
nonceStr: data.nonceStr,
// 必填,签名,见附录1
signature: data.signature,
// 必填,需要使用的JS接口列表,所有JS接口列表见附录2
jsApiList: ["getLocation"]
});
wxLocation();
}
上边微信初始化配置简单略过,主要是获取关键的appid和签名 同事协商需要调用的api接口列表,下边是重点获取location
function wxLocation() {
//思路是通过微信的方法获取用户的经纬度坐标 然后将经纬度坐标传给高德地图api接口,API会返回对应的地理信息
wx.ready(function () {
// 获取当前地理位置
wx.getLocation({
success: function (res) {
AMap.service('AMap.Geocoder', function () {//回调函数
//实例化Geocoder
geocoder = new AMap.Geocoder();
//地图上所标点的坐标 微信获取经纬度
var lnglatXY = [res.longitude, res.latitude];
geocoder.getAddress(lnglatXY, function (status, result) {
if (status === 'complete' && result.info === 'OK') {
//获得了有效的地址信息,以上就是获取位置的方法,下边是我的业务需要 再次调用api接口获得城市的区号
var data=result.regeocode.addressComponent,
province = data.province,
city = data.city,
district = data.district;
$("#fsenderAddress").val(province+"-"+city+"-"+district).trigger("change");
geocoder.getLocation(city+district, function(status, result) {
if (status === 'complete' && result.info === 'OK') {
$("#fsenderCountyCode").val(result.geocodes[0].adcode)
}
})
} else {
//获取地址失败
}
});
})
},
cancel: function (res) {
alert('用户拒绝授权获取地理位置');
}
});
});
}
先记录这么多吧。。