百度地图插件开发使用三 及jquery function(a.b)排序等

//加载门店
function queryStoreList(id){
    showLoad();
    var search = $("#search").val();
    var cityId = $("#cityId").val();
    if(id !=null && id !=‘‘){
        cityId=id;
    }
    $.ajax({
        url:ctx+"/weixin/store/queryStoreList",
        data:{
            wechatId : ${param.wechatId},
            search : search,
            cityId : cityId
        },
        success:function(data){
            hideLoad();
            if(data != null && data.length > 0){
                var html = "";
                $.each(data,function(i,a){//计算距离                   //$.each(data,function(i,a){      【data对象也可以写在$(data).each(function(i,a){  方法体  })】   })循环
                    var distance=getFlatternDistance(a.latitude,a.longitude,nowLat,nowLng);                   //getFlatternDistance函数 根据两个地点之间的经纬度算出距离
                    distance=distance.toFixed(0);  //保留小数点后面的位数
                    a.distance=distance;
                    })
                    data=data.sort(function(a,b){//按照路程从小到大排序                    //data.sort(function(a,b){ 【data.sort(参数序列) 】   默认是正序                })
                        return a.distance-b.distance;
                    });
                $.each(data,function(i,a){
                                    html += "<div class=‘list_ce clearfix‘>";                        //class=‘list_ce‘ clearfix‘ 类选择器作为样式选择了,在CSS这两哥样式做了定义,clearFix有去除浮标的作用,防止模块位移
                                    html += "<ul class=‘clearfix‘>";
                                    html += "<li class=‘one‘><img src=‘${res}/upload/"+a.wechatId+"/"+a.image+"‘></li>";
                                    html += "<li class=‘two‘>";
                                    var dis=Number(a.distance);
                                    if(dis >1000){
                                        dis=dis/1000
                                        dis=dis+"千米";
                                    }else{
                                        dis=dis+"米";
                                    }
                                    html += "<h2>"+a.name+ dis+"<span><a href=‘tel:"+a.phone+"‘><img                                           src=‘${res}/template/002/images/m2.png‘></a></span></h2>";
                                    html += "<p class=‘fonts‘>地址:"+a.address+" </p>";
                                    html += "<p class=‘ft‘>电话:<a href=‘tel:"+a.phone+"‘>"+a.phone+"</a></p>";
                                    html += "</li>";
                                    html += "<li class=‘tre‘>";
                                    html += "<p onclick=‘goGps("+a.id+")‘><img src=‘${res}/template/002/images/m1.png‘></p>";
                                    html += "</li>";
                                    html += "</ul>";
                                    html += "</div>";
                                    html += "<div class=‘bres‘></div>";
                                })
                 $("#menuList").empty().append(html);                //清空后重新赋值
            }else{

            }
        }
    })
}

函数:

getFlatternDistance根据两个地点的位置的经纬度获取距离

//根据俩地经纬度计算距离
function getFlatternDistance(lat1,lng1,lat2,lng2){
    var f = getRad(parseFloat(lat1 + lat2)/2);
    var g = getRad(parseFloat(lat1 - lat2)/2);
    var l = getRad(parseFloat(lng1 - lng2)/2);
    var sg = Math.sin(g);
    var sl = Math.sin(l);
    var sf = Math.sin(f);
    var s,c,w,r,d,h1,h2;
    var a = EARTH_RADIUS;
    var fl = 1/298.257;
    sg = sg*sg;
    sl = sl*sl;
    sf = sf*sf;
    s = sg*(1-sl) + (1-sf)*sl;
    c = (1-sg)*(1-sl) + sf*sl;
    w = Math.atan(Math.sqrt(s/c));
    r = Math.sqrt(s*c)/w;
    d = 2*w*a;
    h1 = (3*r -1)/2/c;
    h2 = (3*r +1)/2/s;
    return d*(1 + fl*(h1*sf*(1-sg) - h2*(1-sf)*sg));
}


时间: 2024-10-23 20:48:07

百度地图插件开发使用三 及jquery function(a.b)排序等的相关文章

百度地图总结第三篇之定位(我的位置)

前言: 使用百度定位SDK获取对应的位置信息,然后利用地图SDK中的接口.您能够在地 在这里提示一下,假设是在一个project中同一时候使用定位的SDK和百度地图SDK.能够共同使用一个key.假设新创建project,那么就要去又一次申请key了.申请方式一样.如有疑问能够看看百度地图总结第一篇–环境集成和Hello Baidu_Map实现 集成定位SDK: 然后我们看下集成文档,下载对应的定位SDK,解压出来,我们把须要的jar包加入到libs文件夹下(BaiduLBS_Android.j

Android 百度地图开发(三)

实现比例尺功能和替换自带的缩放组件 ScaleView是比例尺控件,ZoomControlView是缩放控件,MainActivity就是我们的主界面了 先看下ZoomControlView类,代码如下 [java] view plaincopy package com.example.baidumapdemo; import com.baidu.mapapi.map.MapView; import android.content.Context; import android.util.Att

获取百度地图POI数据三(模拟关键词搜索)

上一篇博文中讲到如何获取用于搜索的关键词,并且已经准备好了一百五十万的关键词   这其中有门牌号码,餐馆酒店名称,公司名称,道路名称等.有了这些数据,我们就可以通过代码,模拟我们在百度地图的搜索框中搜索地点,从而获取其返回的POI数据.下面直接上代码~ 一 .准备好用于存储数据的数据库表 由于百度返回的POI数据都是JSON字符串且子节点非常多,为了按照子节点一一存储,就需要建这么一张包含很多字段的表,虽然麻烦,但是信息很全面.当然各位也可以选择性的存储其中的数据. 二.获取并解析数据的代码 c

Android百度地图API集成三《搜索》

书接上回↑ 一.基础地图界面地址:http://www.cnblogs.com/dhr125/p/5969980.html 二.地图定位地址:http://www.cnblogs.com/dhr125/p/5970118.html 搜索功能 1.在xml文件中加入布局 1 <LinearLayout 2 android:layout_width="match_parent" 3 android:layout_height="wrap_content">

微信JS-SDK之地理位置的获取与在线导航,集成百度地图实现在线地图搜索

原创声明:本文来源于本人另一博客[微信JS-SDK之地理位置的获取,集成百度地图实现在线地图搜索]原创作品,绝非他处摘取,转载请联系博主 本次讲解微信开发第三篇:获取用户地址位置信息,是非常常用的功能,特别是服务行业公众号,尤为需要该功能,本次讲解的就是如何调用微信JS-SDK接口,获取用户位置信息,并结合百度地铁,实现在线地图搜索,与在线导航. 官方文档地址:https://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.htm

Android 百度地图 SDK v3_3_0 (五) ---POI搜索和在线建议查询功能

转载请标明出处:http://blog.csdn.net/tanzuai/article/details/43835431 目前百度地图SDK所集成的检索服务包括:POI检索.公交信息查询.线路规划.地理编码.在线建议查询.短串分享. 本篇博客将先介绍POI检索和在线建议查询(在地图地位功能基础上实现的,还不知道定位的童靴,请参考Android 百度地图 SDK v3.3.0 (二)--- 地图定位和图层展示) 百度地图SDK提供三种类型的POI检索:周边检索.区域检索和城市内检索.下面将以城市

iOS开发之集成百度地图踩过的那些坑(基于 Xcode7.0/iOS9.2)

本篇分4步讲述如何在项目中集成百度地图: 第一步:创建项目 第二步:利用 cocoaPod 导入百度地图的 SDK(pod 'BaiduMapKit' #百度地图SDK) 第三步:在 pch 文件中导入头文件和秘钥 秘钥是在 http://lbsyun.baidu.com/apiconsole/key 百度开放平台申请. #define APPKEY @"UzyiXewPsqPhcE1yS8wxqik9" 在使用SDK的类时按需引入下边的头文件 #import <BaiduMap

百度地图Api进阶教程-基础地图示例1.html

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>百度地图</title> <script type="text/javascript"> function initialize() { var map

百度地图API 与 jquery 同时使用时报 TypeError $(...) is null错误 失效的原因及解决办法

在引用百度地图API后,发现jquery 根据id 找不到 form.但是对于别的控件没有问题. 在排除了 html加载的问题后. 上网查找 发现以下解决办法: 原因应该是有冲突的插件. 解决办法将 $符号改为jQuery 引用: http://www.phpernote.com/jquery/851.html 最近在工作中发现个问题,原本好好的网页,写了一些自己的jquery代码之后,竟然总是不起作用,无论写的多么简单,都不起作用,似乎 jquery失效了一般,在火狐下调试看了下,页面报Typ