• 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=" 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);
    }
  • 相关阅读:
    POJ1094查分约束,判断关系是否唯一
    POJ1087DFS+匈牙利或者DINIC
    POJ1087DFS+匈牙利或者DINIC
    #Leetcode# 34. Find First and Last Position of Element in Sorted Array
    #Leetcode# 18. 4Sum
    #Leetcode# 16. 3Sum Closest
    #Leetcode# 15. 3Sum
    #Leetcode# 42. Trapping Rain Water
    #Leetcode# 63. Unique Paths II
    #Leetcode# 62. Unique Paths
  • 原文地址:https://www.cnblogs.com/chen1970s/p/8417891.html
Copyright © 2020-2023  润新知