php结合JS百度地图实现手机gps精准定位wap端,使用浏览器页面获取地址

//JS地图计算距离
var map = new BMap.Map("allmap");
var point = new BMap.Point();
map.centerAndZoom(point, 12);
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function (r) {
//广告服务商的距离计算,后台查询传值主要是获取经纬度
var a_lat = $('#distance_a').attr('data-value');
var b_lat = $('#distance_b').attr('data-value');
var c_lat = $('#distance_c').attr('data-value');
var d_lat = $('#distance_d').attr('data-value');
a_lat = JSON.parse(a_lat);
b_lat = JSON.parse(b_lat);
c_lat = JSON.parse(c_lat);
d_lat = JSON.parse(d_lat);
//根据经纬度获取当前手机的位置
if (this.getStatus() == BMAP_STATUS_SUCCESS) {
var mk = new BMap.Marker(r.point);
map.addOverlay(mk);
map.panTo(r.point);
var pointA = new BMap.Point(r.point.lng, r.point.lat);
console.log(mk);
//广告服务商的距离计算
var arr1 = aDistance(a_lat, pointA, 'gg_key');
taskDetail(arr1, 'gg_user');
//安装师傅距离计算
var arr2 = aDistance(b_lat, pointA, 'az_key');
taskDetail(arr2, 'az_user');
//设计师定位
var arr3 = aDistance(c_lat, pointA, 'sj_key');
taskDetail(arr3, 'sj_user');
//商品距离定位
var arr4 = aDistance(d_lat, pointA, 'goodS');
shopDetail(arr4, 'goods-list')
}
else {
alert('failed' + this.getStatus());
}
});
//计算距离
function aDistance(data, point, marker) {
var arr = [];
$.each(data, function (k, v) {
var pointB = new BMap.Point(v.lng, v.lat);
data[k].ditance_a = (map.getDistance(point, pointB)).toFixed(0) / 1000;
//$('#' + marker + k).text((map.getDistance(point, pointB)).toFixed(0) / 1000 + 'km');
});
return data.sort(sortNumber);
}
function sortNumber(a, b) {
return a.ditance_a - b.ditance_a
}
//这里是JS渲染页面,由于距离是动态的,本人项目JQ渲染页面
//服务商距离排序
function taskDetail(arr, arr1) {
var html = '';
$.each(arr, function (a, b) {
html += '<li> <div class="item-content"> <div class="item-media"> <a href="javascript:;"> <img src="' + window.location.href + b.avatar + '" style="width: 3.3rem; height: 3.3rem;"> ' +
'</a> </div> <div class="item-inner"> <div class="item-title-row"> <div class="item-title"> <a href="/wap/task/breDetail/' + b.shopId + '">' + b.name + '</a>';
if (('' + b.user_type + '') && ('' + b.user_type + '') == 2) {
html += '<span class="f-label f-label-orange-b">企</span>';
}
if (('' + b.user_type + '') && ('' + b.user_type + '') == 1) {
html += '<span class="f-label f-label-orange-b">个</span>';
}
// if (('' + b.auth.alipay + '') && ('' + b.auth.alipay + '') == true) {
// html += '<span class="f-label f-label-orange-b">支</span>';
// }

html += '</div> <div class="item-after">' + b.ditance_a + 'km</div> </div> <div class="item-text">好评率:' + b.percent + '% | 成交量' + b.serviceNum + ' |保证金' + b.fund_money + '</div> ' +
'<div class="f-gray-line"></div> <div class="item-text">' + b.province_name + '' + b.city_name + '' + b.area_name + ' <i class="iconfont icon-dingwei"></i> </div> </div> </div> ' +
'</li>';
//$('#' + marker + a).text(b + 'km');
});
$('.' + arr1).append(html);
}
//商品距离排序
function shopDetail(arr, arr1) {
var html = '';
$.each(arr, function (a, b) {
html += '<div class="goods-item"> <div class="img-box"> <a href="/wap/task/shopDetail/' + b.id + '"><a href="/wap/task/shopDetail/' + b.id + '">';
console.log(b.cover);
if ('' + b.cover + '' != '') {
html += ' <img src="' + window.location.href + b.cover + '" alt="">';
}
else {
html += '<img src="/themes/assets/images/wap/goods-img01.png" alt="">'
}

html += '</a> </div> <div class="info-box"> <a href="/wap/task/shopDetail/' + b.id + '"> <p class="info-title"> ' +
'<a href="javascript:;">' + b.title + '&nbsp;';
if ('' + b.good_type + '' == 1) {
html += '定制'
}
else {
html += '成品'
}
html += '</a> </p> </a> <div class="info-row"> ' +
'<div class="info-text">¥ <span class="money">' + b.cash + '</span>' + b.sales_num + '人购买 </div> <div class="info-after" >' + b.ditance_a + 'km </div> </div> ' +
'<div class="info-row"> <div class="info-text">好评数:' + b.good_comment + '</div> <div class="info-after">' + b.province_name + '' + b.city_name + '' + b.area_name + '</div> ' +
'</div> </div> ' +
'</div>'
});
$('.' + arr1).append(html);
}

转载于:https://www.cnblogs.com/chen1970s/p/8417891.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值