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