前提:
百度地图新建ak
网址:http://lbsyun.baidu.com/apiconsole/key
我这儿用的是tp3.2做的
WechatJs 是用到的类
JSSDK配置参数获取: 标准的JSSDK的票证
public function map(){
$appid = C ( "WX_APPID" ); //appid
$appsecret = C ( "WX_CRYPT" ); //appscrypt
$jssdk = new WechatJs($appid, $appsecret);
$signPackage = $jssdk->GetSignPackage();
$this->assign('signPackage',$signPackage);
$this->display();
}
//前端页面 map.html
//JSSDK配置参数 通过config接口注入权限验证配置
wx.config({
debug: false,
appId: '{$signPackage.appId}',
timestamp: '{$signPackage.timestamp}',
nonceStr: '{$signPackage.nonceStr}',
signature: '{$signPackage.signature}',
jsApiList: [
'checkJsApi',
'onMenuShareTimeline',
'onMenuShareAppMessage',
'onMenuShareQQ',
'onMenuShareWeibo',
'hideMenuItems',
'showMenuItems',
'hideAllNonBaseMenuItem',
'showAllNonBaseMenuItem',
'translateVoice',
'startRecord',
'stopRecord',
'onRecordEnd',
'playVoice',
'pauseVoice',
'stopVoice',
'uploadVoice',
'downloadVoice',
'chooseImage',
'previewImage',
'uploadImage',
'downloadImage',
'getNetworkType',
'openLocation',
'getLocation',
'hideOptionMenu',
'showOptionMenu',
'closeWindow',
'scanQRCode',
'chooseWXPay',
'openProductSpecificView',
'addCard',
'chooseCard',
'openCard'
]
});
//通过ready接口处理成功验证,加载直接调用的程序放在ready中,这里目前为空
wx.ready(function () {
});
//这块是用jQuery来把wx.getLocation获取到的值显示在页面中的id=LocationText的位置
//document.querySelector('#btnToLocation').onclick = function () {
$(document).on("click","#btnToLocation",function(){
gotoLocation();
});
function gotoLocation(){
wx.getLocation({
success: function (res) {
var latitude = res.latitude; //纬度
var longitude = res.longitude; //经度
var locationStr = "latitude:"+latitude+","+"longitude:"+longitude;
$.ajax({
url: "{:U('Demo/test')}",
type: "POST",
data: {Latitude:latitude,Longitude:longitude},
dataType: "json",
success: function(json){
var latitudeNew = json.latitudeNew;
var longitudeNew = json.longitudeNew;
var locationNewStr = "latitudeNew:"+latitudeNew+","+"longitudeNew:"+longitudeNew;
alert(locationStr + ";" + locationNewStr);
$("#locationText").text(locationStr + ";" + locationNewStr);
location.href="http://api.map.baidu.com/direction?origin="+latitudeNew+","+longitudeNew+"&destination=国贸地铁站&mode=driving®ion=北京&output=html&ak=yourBaiduAK";
//百度地图坐标拾取网址:http://api.map.baidu.com/lbsapi/getpoint/index.html,获得测试地址国贸地铁站的经纬度
//百度地图路线规划WebAPI网址:http://lbsyun.baidu.com/index.php?title=webapi/direction-api
},
error: function(){
alert("有错误!");
}
});//end ajax
},
cancel: function (res) {
alert('用户拒绝授权获取地理位置');
},
fail: function (res) {
alert(JSON.stringify(res));
}
});//end wx.getLocation
}//end function
wx.error(function (res) {
alert(res.errMsg);
});