public class AMapLocationClientOption
extends java.lang.Object
implements java.lang.Cloneable
限定符和类型 | 类和说明 |
---|---|
static class |
AMapLocationClientOption.AMapLocationMode
定位模式,目前支持三种定位模式
高精度定位模式: 在这种定位模式下,将同时使用高德网络定位和卫星定位,优先返回精度高的定位 低功耗定位模式: 在这种模式下,将只使用高德网络定位 仅设备定位模式: 在这种模式下,将只使用卫星定位。 |
static class |
AMapLocationClientOption.AMapLocationProtocol
定位协议,目前支持二种定位协议
http协议: 在这种定位协议下,会使用http请求定位 https协议: 在这种定位协议下,会使用https请求定位 |
static class |
AMapLocationClientOption.AMapLocationPurpose
定位场景
|
static class |
AMapLocationClientOption.GeoLanguage
设置返回逆地理使用的语言,目前有三种选择
默认: 选择这种模式,会根据位置按照相应的语言返回逆地理信息,在国外按英语返回,在国内按中文返回 中文: 设置只中文后,无论在国外还是国内都为返回中文的逆地理信息 英文: 设置英文后,无论在国外还是国内都为返回英文的逆地理信息 |
构造器和说明 |
---|
AMapLocationClientOption() |
限定符和类型 | 方法和说明 |
---|---|
AMapLocationClientOption |
clone()
获取AMapLocationClientOption对象的拷贝
|
float |
getDeviceModeDistanceFilter()
获取仅设备模式/高精度模式的系统定位自动回调最少间隔距离值
默认值:0米 只有当定位模式为 AMapLocationClientOption.AMapLocationMode.Device_Sensors (仅设备模式)或 AMapLocationClientOption.AMapLocationMode.Hight_Accuracy (高精度模式)有效
|
long |
getGpsFirstTimeout()
获取优先返回定位信息时等待GPS结果的超时时间
|
long |
getHttpTimeOut()
获取联网超时时间
单位:毫秒 默认值:30000毫秒 |
long |
getInterval()
获取发起定位请求的时间间隔
默认值:2000毫秒 |
AMapLocationClientOption.AMapLocationMode |
getLocationMode()
获取定位模式 默认值:Hight_Accuracy 高精度模式
|
AMapLocationClientOption.AMapLocationProtocol |
getLocationProtocol()
获取定位协议 默认值:HTTP http协议
|
AMapLocationClientOption.AMapLocationPurpose |
getLocationPurpose()
获取定位场景
|
boolean |
isBeidouFirst() |
boolean |
isGpsFirst()
获取高精度模式下单次定位是否优先返回卫星定位信息
默认值:false 只有在单次定位高精度定位模式下有效 为true时,会等待卫星定位结果返回,最多等待30秒,若30秒后仍无卫星定位结果返回,返回网络定位结果 |
boolean |
isKillProcess()
获取退出时是否杀死进程
默认值:false, 不杀死 注意:如果设置为true,并且配置的service不是remote的则会杀死当前页面进程,请慎重使用 |
boolean |
isMockEnable()
获取是否允许模拟位置
从3.4.0开始,默认值为true,允许模拟;
3.4.0之前的版本,默认值为false,不允许模拟 |
boolean |
isNeedAddress()
获取是否需要地址信息
默认值:true 返回地址信息 2.9.0之前的版本定位类型为 AMapLocation.LOCATION_TYPE_GPS 时不会返回地址信息自2.9.0版本开始,当类型为 AMapLocation.LOCATION_TYPE_GPS 时也可以返回地址信息(需要网络通畅,第一次有可能没有地址信息返回) |
boolean |
isOnceLocation()
是否单次单次定位
默认值:false |
static boolean |
isOpenAlwaysScanWifi()
是否开启始终wifi扫描
只有设置了android.permission.WRITE_SECURE_SETTINGS权限后才会开启
开启后,即使关闭wifi开关的情况下也会扫描wifi
默认值为:true, 开启wifi始终扫描
|
boolean |
isSelfStartServiceEnable() |
boolean |
isWifiActiveScan()
已过时。
|
boolean |
isWifiScan()
获取是否允许主动调用WIFI刷新
|
AMapLocationClientOption |
setBeidouFirst(boolean isBeidouFirst) |
AMapLocationClientOption |
setDeviceModeDistanceFilter(float distanceFilter)
设置仅设备模式/高精度模式的系统定位自动回调最少间隔距离值
单位:米 默认值:0米 只有当定位模式为 AMapLocationClientOption.AMapLocationMode.Device_Sensors (仅设备模式)或 AMapLocationClientOption.AMapLocationMode.Hight_Accuracy (高精度模式)有效,值小于0时无效
|
AMapLocationClientOption |
setGeoLanguage(AMapLocationClientOption.GeoLanguage geoLanguage)
设置逆地理信息的语言,目前之中中文和英文
默认值:
AMapLocationClientOption.GeoLanguage.DEFAULT
|
AMapLocationClientOption |
setGpsFirst(boolean isGpsFirst)
设置首次定位是否等待卫星定位结果
默认值:false 只有在单次定位高精度定位模式下有效 设置为true时,会等待卫星定位结果返回,最多等待30秒,若30秒后仍无卫星定位结果返回,返回网络定位结果 从4.5.0版本开始等待卫星定位结果返回的时间可以通过 AMapLocationClientOption.setGpsFirstTimeout(long) 进行设置
|
AMapLocationClientOption |
setGpsFirstTimeout(long timeout)
设置优先返回卫星定位信息时等待卫星定位结果的超时时间,单位:毫秒
只有在
AMapLocationClientOption.setGpsFirst(boolean) 设置为true时才有效。 |
AMapLocationClientOption |
setHttpTimeOut(long httpTimeOut)
设置联网超时时间
单位:毫秒 默认值:30000毫秒 |
AMapLocationClientOption |
setInterval(long interval)
设置发起定位请求的时间间隔
单位:毫秒 默认值:2000毫秒 |
AMapLocationClientOption |
setKillProcess(boolean isKillProcess)
设置退出时是否杀死进程
默认值:false, 不杀死 注意:如果设置为true,并且配置的service不是remote的则会杀死当前页面进程,请慎重使用 |
AMapLocationClientOption |
setLocationCacheEnable(boolean isLocationCacheEnable)
设置是否使用缓存策略, 默认为true 使用缓存策略
|
AMapLocationClientOption |
setLocationMode(AMapLocationClientOption.AMapLocationMode locationMode)
设置定位模式
|
static void |
setLocationProtocol(AMapLocationClientOption.AMapLocationProtocol amapLocationProtocol)
设置定位协议
|
AMapLocationClientOption |
setLocationPurpose(AMapLocationClientOption.AMapLocationPurpose locationPurpose)
设置定位场景,根据场景快速修改option,不支持动态改变,修改后需要调用
AMapLocationClient.startLocation() 使其生效当不需要场景时,可以设置为NULL, 注意: 不建议设置场景和自定义option混合使用 设置场景后,如果已经开始定位了,建议调用一次 AMapLocationClient.stopLocation() ,然后主动调用一次AMapLocationClient.startLocation() 以保证option正确生效
当主动设置的option和场景中的option有冲突时,以后设置的为准,
比如:签到场景中默认的为单次定位,当主动设置option为连续定位时,
如果先设置的场景,后改变的option,这时如果不调用startLocation不会变为连续定位,如果调用了startLocation则会变为连续定位,
如果先改变option,后设置场景为签到场景,则会变为单次定位 |
AMapLocationClientOption |
setMockEnable(boolean isMockEnable)
设置是否允许模拟位置
从3.4.0开始,默认值为true,允许模拟; 3.4.0之前的版本,默认值为false,不允许模拟 |
AMapLocationClientOption |
setNeedAddress(boolean isNeedAddress)
设置是否返回地址信息,默认返回地址信息
默认值:true, 返回地址信息 2.9.0之前的版本定位类型为 AMapLocation.LOCATION_TYPE_GPS 时不会返回地址信息自2.9.0版本开始,当类型为 AMapLocation.LOCATION_TYPE_GPS 时也可以返回地址信息(需要网络通畅,第一次有可能没有地址信息返回)
|
AMapLocationClientOption |
setOnceLocation(boolean isOnceLocation)
设置是否单次定位
默认值:false |
AMapLocationClientOption |
setOnceLocationLatest(boolean isOnceLocationLatest)
设置定位是否等待WIFI列表刷新
定位精度会更高,但是定位速度会变慢1-3秒
从3.7.0版本开始,支持连续定位(连续定位时首次会等待刷新)
3.7.0之前的版本,仅适用于单次定位,当设置为true时,连续定位会自动变为单次定位,
|
static void |
setOpenAlwaysScanWifi(boolean openAlwaysScanWifi)
设置是否开启wifi始终扫描
只有设置了android.permission.WRITE_SECURE_SETTINGS权限后才会开启
开启后,即使关闭wifi开关的情况下也会扫描wifi
默认值为:true, 开启wifi始终扫描
此方法为静态方法,设置一次后其他定位Client也会生效
|
void |
setSelfStartServiceEnable(boolean selfStartServiceEnable)
设置是否允许定位服务自启动,用于连续定位场景下定位服务被系统异常杀死时重新启动。
|
AMapLocationClientOption |
setSensorEnable(boolean sensorEnable)
设置是否使用设备传感器
默认值:false 不使用设备传感器
|
AMapLocationClientOption |
setWifiActiveScan(boolean isWifiActiveScan)
已过时。
|
AMapLocationClientOption |
setWifiScan(boolean isWifiPassiveScan)
设置是否允许调用WIFI刷新
默认值为true,当设置为false时会停止主动调用WIFI刷新,将会极大程度影响定位精度,但可以有效的降低定位耗电
|
java.lang.String |
toString() |
public boolean isSelfStartServiceEnable()
public void setSelfStartServiceEnable(boolean selfStartServiceEnable)
selfStartServiceEnable
- public boolean isMockEnable()
从3.4.0开始,默认值为true,允许模拟;
3.4.0之前的版本,默认值为false,不允许模拟
public AMapLocationClientOption setMockEnable(boolean isMockEnable)
从3.4.0开始,默认值为true,允许模拟;
3.4.0之前的版本,默认值为false,不允许模拟
isMockEnable
- 是否允许模拟位置public long getInterval()
public AMapLocationClientOption setInterval(long interval)
interval
- 时间间隔 public boolean isOnceLocation()
public AMapLocationClientOption setOnceLocation(boolean isOnceLocation)
isOnceLocation
- 是否单次定位 public boolean isNeedAddress()
AMapLocation.LOCATION_TYPE_GPS
时不会返回地址信息AMapLocation.LOCATION_TYPE_GPS
时也可以返回地址信息(需要网络通畅,第一次有可能没有地址信息返回)public AMapLocationClientOption setNeedAddress(boolean isNeedAddress)
2.9.0之前的版本定位类型为AMapLocation.LOCATION_TYPE_GPS
时不会返回地址信息
自2.9.0版本开始,当类型为AMapLocation.LOCATION_TYPE_GPS
时也可以返回地址信息(需要网络通畅,第一次有可能没有地址信息返回)
isNeedAddress
- 是否返回地址信息public boolean isWifiActiveScan()
public AMapLocationClientOption setWifiActiveScan(boolean isWifiActiveScan)
isWifiActiveScan
- 是否主动刷新WIFI true:主动刷新public boolean isWifiScan()
public AMapLocationClientOption setWifiScan(boolean isWifiPassiveScan)
默认值为true,当设置为false时会停止主动调用WIFI刷新,将会极大程度影响定位精度,但可以有效的降低定位耗电
isWifiPassiveScan
- 是否允许wifi刷新,默认为:truepublic AMapLocationClientOption.AMapLocationMode getLocationMode()
public AMapLocationClientOption setLocationMode(AMapLocationClientOption.AMapLocationMode locationMode)
locationMode
- 定位模式public AMapLocationClientOption.AMapLocationProtocol getLocationProtocol()
public static void setLocationProtocol(AMapLocationClientOption.AMapLocationProtocol amapLocationProtocol)
amapLocationProtocol
- 协议类型public boolean isKillProcess()
注意:如果设置为true,并且配置的service不是remote的则会杀死当前页面进程,请慎重使用
public AMapLocationClientOption setKillProcess(boolean isKillProcess)
注意:如果设置为true,并且配置的service不是remote的则会杀死当前页面进程,请慎重使用
isKillProcess
- 退出时是否杀死进程public boolean isGpsFirst()
只有在单次定位高精度定位模式下有效
为true时,会等待卫星定位结果返回,最多等待30秒,若30秒后仍无卫星定位结果返回,返回网络定位结果
public AMapLocationClientOption setGpsFirst(boolean isGpsFirst)
只有在单次定位高精度定位模式下有效
设置为true时,会等待卫星定位结果返回,最多等待30秒,若30秒后仍无卫星定位结果返回,返回网络定位结果
从4.5.0版本开始等待卫星定位结果返回的时间可以通过 AMapLocationClientOption.setGpsFirstTimeout(long)
进行设置
isGpsFirst
- 是否优先返回卫星定位信息AMapLocationClientOption.setGpsFirstTimeout(long)
public AMapLocationClientOption setGpsFirstTimeout(long timeout)
只有在AMapLocationClientOption.setGpsFirst(boolean)
设置为true时才有效。
最小间隔5s, 最大间隔30s
timeout
- 优先返回卫星定位信息时等待卫星定位结果的超时时间, 范围[5000-30000], 单位:毫秒AMapLocationClientOption.setGpsFirst(boolean)
public long getGpsFirstTimeout()
public boolean isBeidouFirst()
public AMapLocationClientOption setBeidouFirst(boolean isBeidouFirst)
public AMapLocationClientOption clone()
clone
在类中 java.lang.Object
public long getHttpTimeOut()
public AMapLocationClientOption setHttpTimeOut(long httpTimeOut)
httpTimeOut
- 联网超时时间public AMapLocationClientOption setLocationCacheEnable(boolean isLocationCacheEnable)
isLocationCacheEnable
- 是否使用缓存策略public AMapLocationClientOption setOnceLocationLatest(boolean isOnceLocationLatest)
定位精度会更高,但是定位速度会变慢1-3秒
从3.7.0版本开始,支持连续定位(连续定位时首次会等待刷新) 3.7.0之前的版本,仅适用于单次定位,当设置为true时,连续定位会自动变为单次定位,
isOnceLocationLatest
- 是否等待WIFI列表刷新public AMapLocationClientOption setSensorEnable(boolean sensorEnable)
默认值:false 不使用设备传感器
sensorEnable
- 是否开启设备传感器,当设置为true时,网络定位可以返回海拔、角度和速度。public AMapLocationClientOption setGeoLanguage(AMapLocationClientOption.GeoLanguage geoLanguage)
geoLanguage
- public float getDeviceModeDistanceFilter()
只有当定位模式为AMapLocationClientOption.AMapLocationMode.Device_Sensors
(仅设备模式)或 AMapLocationClientOption.AMapLocationMode.Hight_Accuracy
(高精度模式)有效
public AMapLocationClientOption setDeviceModeDistanceFilter(float distanceFilter)
只有当定位模式为AMapLocationClientOption.AMapLocationMode.Device_Sensors
(仅设备模式)或 AMapLocationClientOption.AMapLocationMode.Hight_Accuracy
(高精度模式)有效,值小于0时无效
distanceFilter
- public AMapLocationClientOption setLocationPurpose(AMapLocationClientOption.AMapLocationPurpose locationPurpose)
AMapLocationClient.startLocation()
使其生效当不需要场景时,可以设置为NULL,
注意:AMapLocationClient.stopLocation()
,然后主动调用一次AMapLocationClient.startLocation()
以保证option正确生效locationPurpose
- 定位场景, 默认值 :NULL(无场景设置)public AMapLocationClientOption.AMapLocationPurpose getLocationPurpose()
public java.lang.String toString()
toString
在类中 java.lang.Object
public static boolean isOpenAlwaysScanWifi()
public static void setOpenAlwaysScanWifi(boolean openAlwaysScanWifi)
openAlwaysScanWifi
- 是否开启