[TOC] ## 计算 ### 计算2个坐标点之间都距离 ``` $common.GetDistance(lat1, lng1, lat2, lng2); ``` ## 集成定位(自动缓存,自动失败根据IP定位) 集成定位(集成了基本定位的业务逻辑,先从系统定位获取定位,如果获取失败会用IP定位,并会把定位的结果缓存) ``` $common.home_ea55_latlon(function (ret,err){ // alert(JSON.stringify(ret)); }); ``` ## 主动缓存定位信息 ``` //缓存定位信息 $common.ea55_latlon_config({lat:'',lon:''}); ``` ## 获取缓存的定位数据缓存 每次执行 $common.home_ea55_latlon 定位之后会有一个缓存,可以通用下面方法获取 ``` var config=$common.config(); alert(JSON.stringify(config.ea55_latlon)); ``` ***** ## 单独定位+ip定位 ``` $common.ea55_latlon({},function (ret,err){ alert(JSON.stringify(ret)); }); ``` ***** ## 单独根据IP定位 ``` $common.ea55_latlon_ip({},function (ret,err){ alert(JSON.stringify(ret)); }); ``` ## 单独gps定位 ``` $common.ea55_latlon_in({},function (ret,err){ alert(JSON.stringify(ret)); }); ``` ***** ## 地图选择 ``` $common.ditu({ title:'',//标题 central_lat:'',//中心点 central_lon:'',//中心点 only_in_circle:false,//是否只能选择圈内坐标 mapScopeType:false,//1:圆形,2:多边形 圆形是以中心点(longitude,latitude)和区域半径(radiusRange),多边形以多个经纬度区间areaScope radiusRange:1000,//圆的半径 单位:米 mapScopeType=1点时候有效 areaScope: [{"path":[[113.578262,22.800492],[113.577625,22.796883],[113.581449,22.79682],[113.582162,22.800324],[113.580478,22.800932]]},{"path":[[113.584513,22.800163],[113.583679,22.797037],[113.586805,22.796715],[113.587905,22.799757],[113.586456,22.800869]]},{"path":[[113.58404,22.805436],[113.577295,22.802133],[113.588853,22.801259]]}],//多边形数组.支持多个 },function (ret){ // alert(JSON.stringify(ret)); }); ``` ## 列表模式搜索地址 ``` $common.plugin_address({},function (ret){ // alert(JSON.stringify(ret)); }); ``` ## 高德地图操作 ### 在地图上画线+跳到线的中心点+自动控制缩放比例 | 参数 |描述 | 类型 |默认值 | 是否可选| | --- | --- |--- | --- | --- | | id | 绘制路线分配的 id ,removeRoute 时使用此 id 移除路线 | 数字 | transit | | | auto_index | * 路线方案的索引,在 searchRoute 时返回的多个路线方案组成的数组中的索引 | 数字 | 0 | | | type | 路线类型 取值范围:drive(开车)transit(公交)walk(步行)ride(骑行) | 字符串 | transit | | | strategy | 路线策略,type 为 walk(步行)或ride(骑行)时,此参数可不传取值范围:drive_time_first:速度优先(时间)drive_fee_first:费用优先(不走收费路段的最快道路)drive_dis_first:距离优先drive_highway_no:不走高速drive_jam_no:结合实时交通(躲避拥堵)drive_highway_fee_no:不走高速且避免收费drive_highway_jam_no:不走高速且躲避拥堵drive_fee_jam_no:躲避收费和拥堵drive_highway_fee_jam_no:不走高速且躲避收费和拥堵transit_time_first:最快捷模式transit_fee_first:最经济模式transit_transfer_first:最少换乘模式transit_walk_first:最少步行模式transit_comfort_first:最舒适模式transit_subway_no:不乘地铁模式 | 字符串 | drive_time_first/transit_time_firs | | |start | 起点信息 :{ lon: 116.403838, lat: 39.914437 } | JSON 对象 | | | |end | 终点信息 :{ lon: 116.403838, lat: 39.914437 } | JSON 对象 | | | |waypoints | 途经点信息组成的数组,仅当 type 为 drive 时有效 :[{ lon: 116.403838, lat: 39.914437 },{ lon: 116.403838, lat: 39.914437 }]| JSON 对象 | | | |icons | 路线结点标注图标 | JSON 对象 | | | |styles_driveLine | 驾车路线的线条颜色,支持 rgb、rgba、# | 颜色值 | #24B999 | | |styles_width | 驾车路线宽度 | 数字 | 7 | | |auto_center | 自动跳到中心点 | 布尔值 | false | | |auto_zoomLevel | 自动缩放等级 | 布尔值 | false | | ``` 引入文件 <script src="../script/turf.min.js"></script> $common.aMap_drawRoute({ id:10, index:10, auto_center:true, auto_zoomLevel:true, type: 'drive', strategy:'drive_fee_first', policy: 'drive_fee_first', start: { lon: 113.58283822116879, lat:22.797983582959155 }, end: { lon: 113.58283822116879, lat: 22.797983582959155, }, icons: { //(可选项)JSON对象;路线结点标注图标 start: 'widget://image/1_1.gif', //(可选项)字符串类型;起点图标路径,要求本地路径(fs://、widget://);默认:默认起点图标 end: 'widget://image/icon/chengke.png', //(可选项)字符串类型;终点图标路径,要求本地路径(fs://、widget://);默认:默认终点图标 bus: 'widget://image/1_1.gif', //(可选项)字符串类型;公交路线结点提示图标路径,要求本地路径(widget://、fs://)默认:默认公交图标 car: 'widget://image/1_1.gif', //(可选项)字符串类型;驾车路线结点提示图标路径,要求本地路径(widget://、fs://)默认:默认驾车图标 man: 'widget://image/1_1.gif' , //(可选项)字符串类型;步行路线结点提示图标路径,要求本地路径(widget://、fs://)默认:默认步行图标 ride: 'widget://image/1_1.gif' //(可选项)字符串类型;骑行路线结点提示图标路径,要求本地路径(widget://、fs://)默认:默认步行图标 } },function (ret){ // alert(JSON.stringify(ret)); }); ``` ## 打开导航软件 ``` 引入文件 <script src="../script/callmap.js"></script> ea55_fnOpenMap({ end:{ lon: lon, lat: lat, } },function(ret){ }); ``` ## 坐标转换成地址信息 ``` $common.home_ea55_xy_to_address({ tag:'home_ea55_xy_to_address',//可选 用于重复提交中断之前的网络请求 lat:'22.899276',//纬度 lon:'112.029737',//经度 not_loading:false,//是否不显示加载圈圈 },function(ret, err){ // alert(JSON.stringify(ret)); }); ``` ## 路线规划 [https://lbs.amap.com/api/webservice/guide/api/direction](https://lbs.amap.com/api/webservice/guide/api/direction) ``` $common.ditu_Route_planning({ lon1:'', lat1:'', lon2:'', lat2:'', },function(ret,err){ console.log(JSON.stringify(ret)); }); ```