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);
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM