## 定位插件(GPS) ##
### 1.1获取当前位置 ###
```
插件说明:基于高德的定位插件,用于获取当前位置
插件名称:TMLocation
调用方法:getCurrentLocation
入参类型:JSON
```
>入参:
| 参数名|含义 | 规则说明 | 参数类型 |是否必须 |缺省值 |
|:-------------:|:-------------|:-------------|:-------------|:-------------|:-------------|
|locationMode|定位模式|三种模式分别为:Hight_Accuracy(高精度)、Device_Sensors(仅设备)、Battery_Saving(仅网络)|String|否|Hight_Accuracy|
|gpsFirst|设置是否gps优先|只在高精度模式下有效。默认关闭|Boolean|否|false|
|httpTimeOut|设置网络请求超时时间|默认为30秒,单位毫秒。在仅设备模式下无效|Integer|否|30000|
|interval|设置定位间隔|默认为2秒,单位毫秒|Integer|否|2000|
|needAddress|设置是否返回逆地理地址信息|默认是true|Boolean|否|true|
|onceLocation|设置是否单次定位|默认是false|Boolean|否|false|
|onceLocationLatest|设置是否等待wifi刷新|默认为false.如果设置为true,会自动变为单次定位,持续定位时不要使用|Boolean|否|false|
|locationProtocol|设置网络请求的协议|可选HTTP或者HTTPS。默认为HTTP|String|否|HTTP|
|sensorEnable|设置是否使用传感器|默认是false|Boolean|否|false|
|wifiScan|设置是否开启wifi扫描|默认为true,如果设置为false会同时停止主动刷新,停止以后完全依赖于系统刷新,定位位置可能存在误差|Boolean|否|true|
|locationCacheEnable|设置是否使用缓存定位|默认为true|Boolean|否|true|
>调用实例:
```
function getCurrentLocation(){
TMLocation.getCurrentPosition(success, error,
{
locationMode:"Hight_Accuracy",
gpsFirst:false,
httpTimeOut:30000,
interval:2000,
needAddress:true,
onceLocation:false,
onceLocationLatest:false,
locationProtocol:"HTTP",
sensorEnable:false,
wifiScan:true,
locationCacheEnable:true
});
function success(result){
alert("获取成功:"+JSON.stringify(result));
}
function error(){
alert("获取失败:"+msg);
}
}
```
>返回结果:
```
获取成功:
{
"result": true,
"longitude": 104.038355,
"latitude": 30.595068,
"province": "四川省",
"city": "成都市",
"cityCode": "028",
"district": "武侯区",
"adCode": "510107",
"address": "四川省成都市武侯区新园南二路2-附1号靠近雄飞新园国际广场"
}
获取失败:
{
"result": false,
"errorCode": 10001,
"errorInfo": "定位失败",
"locationDetail": "网络连接似乎有问题"
}
```
| 返回参数 |含义| 参数类型 |
|:--|:--|--:|--:|
|result|获取结果|Boolean|
|longitude|经度|Double|
|latitude|纬度|Double|
|province|省份|String|
|city|城市|String|
|cityCode|城市编号|Integer|
|district|区/县|String|
|adCode|区/县编号|Integer|
|address|详细地址|String|
|errorCode|错误码|Integer|
|errorInfo|错误信息|string|
|locationDetail|错误描述|string|
具体错误码以及错误信息描述详见高德API:http://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode
---
### 1.2.停止定位 ###
```
插件说明:当使用循环定位时,调用此方法停止定位,单次定位SDK内部会默认停止,开发者无需调用
插件名称:TMLocation
调用方法:stopLocation
入参类型:无参数
```
>调用实例:
```
function stopLocation(){
TMLocation.stopLocation(success, error);
function success(){
alert("定位已停止");
}
function error(){
alert("停止定位失败");
}
}
```
>返回结果:
```
无返回值,插件会回调success和error方法
```
---