微信公众号调用 导航而且计算当前位置距离目标点的距离
后台调用jssdkjavascript
public static function jsSdk($url = '')
{
$apiList = ['onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo', 'onMenuShareQZone', 'startRecord', 'stopRecord', 'onVoiceRecordEnd', 'playVoice', 'pauseVoice', 'stopVoice', 'onVoicePlayEnd', 'uploadVoice', 'downloadVoice', 'chooseImage', 'previewImage', 'uploadImage', 'downloadImage', 'translateVoice', 'getNetworkType', 'openLocation', 'getLocation', 'hideOptionMenu', 'showOptionMenu', 'hideMenuItems', 'showMenuItems', 'hideAllNonBaseMenuItem', 'showAllNonBaseMenuItem', 'closeWindow', 'scanQRCode', 'chooseWXPay', 'openProductSpecificView', 'addCard', 'chooseCard', 'openCard'];
$jsService = self::jsService();java
if($url) $jsService->setUrl($url);
else $jsService->setUrl(request()->url(true));//公众号的调用 小程序调用$jsService->setUrl(str_replace('http://','https://',request()->url(true)));
try{
return $jsService->config($apiList);
}catch (\Exception $e){
return '{}';
}git
}小程序
前台:api
function goingTo(){
var lat=($('#lat').val()*100)/100;
var lng=($('#lng').val()*100)/100;
var se_name=$('#se_name').val();
var se_address=$('#se_address').val();
mapleWx($jssdk(),function(){
wx.openLocation({
longitude: lng,
latitude: lat,
name:se_name,
address: se_address
});微信
});
}ide
(function () {
mapleWx($jssdk(),function(){
//此处为计算当前位置与目的位置的距离
wx.getLocation({
type: 'gcj02',
success: function (res) {
var radLat1 = res.latitude*Math.PI / 180.0;
var radLat2 = (($('#lat').val()*100)/100)*Math.PI / 180.0;
var a = radLat1 - radLat2;
var b = res.longitude*Math.PI / 180.0 - (($('#lng').val()*100)/100)*Math.PI / 180.0;
var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2) +Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2)));
s = s *6378.137 ;// EARTH_RADIUS;
s = Math.round(s * 10000) / 10000;
$('#juli').text('距您'+s.toFixed(1)+'km');//#juli为标签的id
}
});this
});url
var shopsTabSpan = $('.shops-tab').find('span'),
shopsItem = $('.shops-item'),
_index = 0;spa
shopsItem.eq(_index).show(); shopsTabSpan.on('click', function () { $(this).addClass('active').siblings().removeClass('active') _index = $(this).index(); shopsItem.eq(_index).show().siblings().hide(); }) })();</script>记得调用 <script type="text/javascript" src="/public/static/plug/wxApi.js"></script>若小程序url为https开头,公众号则为http开头