public class AlxLocationManager
extends java.lang.Object
implements com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks, com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener, com.google.android.gms.location.LocationListener
限定符和类型 | 类和说明 |
---|---|
static class |
AlxLocationManager.AlxScanWifi
扫描附近wifi之后,记录wifi节点信息的类
|
static class |
AlxLocationManager.GeoLocationAPI
用于向谷歌根据基站请求经纬度的封装基站信息的类
|
static class |
AlxLocationManager.GoogleCellTower
封装和基站有关的数据,准备发给谷歌
|
static class |
AlxLocationManager.GoogleWifiInfo
向谷歌服务器根据附近wifi请求位置的json
|
static class |
AlxLocationManager.LocationTask |
static class |
AlxLocationManager.STATUS |
限定符和类型 | 字段和说明 |
---|---|
static double |
a |
static boolean |
autoChina |
AlxLocationManager.STATUS |
currentStatus |
java.lang.String |
dataJson |
static double |
ee |
static int |
FAST_DISPLACEMENT |
static int |
FAST_UPDATE_INTERVAL |
static java.lang.String |
GOOGLE_API_KEY |
static boolean |
isDebugging |
static boolean |
isGeoApp |
static AlxLocationManager |
manager |
static double |
pi |
构造器和说明 |
---|
AlxLocationManager() |
限定符和类型 | 方法和说明 |
---|---|
void |
checkNetCardState(android.net.wifi.WifiManager mWifiManager)
检查当前Wifi网卡状态
|
static boolean |
considerIP(android.content.Context context)
看看现在是wifi联网还是用的流量,如果是wifi返回true,因为wifi的时候可以用ip定位,但如果这时候是vpn,那就不能用ip定位
|
static java.lang.String |
determine2g3g4g(android.content.Context context)
判断当前手机在2g,3g,还是4g,用于发给谷歌
|
static java.lang.String |
determine2g3g4g(android.net.NetworkInfo info)
看看现在用的是几g,什么网络制式
|
static java.lang.String |
getCarrier(java.lang.String operatorString)
根据国家代码获取通信运营商名字
|
static AlxLocationManager.GeoLocationAPI |
getCellInfo(android.content.Context context)
得到附近的基站信息,准备传给谷歌
|
static short |
getChannelByFrequency(int frequency)
根据频率获得信道
|
static void |
getConnectedWifiInfo(android.net.wifi.WifiManager wifiManager) |
boolean |
getCurrentLocation()
拿到最近一次的硬件经纬度记录,只用精确度足够高的时候才会采用这种定位
|
static double |
getGPSDistance(double lat_a,
double lng_a,
double lat_b,
double lng_b)
根据经纬度计算两点间的距离
|
static AlxLocationManager |
getInstance() |
static double[] |
getOldLocation(android.content.Context context)
从sharedPreference中获取上次开启app时候的地理位置,前面的是纬度,后面的是经度
|
static AlxLocationManager.GeoLocationAPI |
getWifiInfo(android.content.Context context,
AlxLocationManager.GeoLocationAPI geoLocationAPI)
得到附近的wifi信息,准备传给谷歌
|
static AlxLocation |
gps84_To_Gcj02(double lat,
double lon)
84 to 火星坐标系 (GCJ-02) World Geodetic System ==> Mars Geodetic System
|
static boolean |
isWifiEnvironment(android.content.Context context)
看看现在用wifi流量还是手机流量,如果是wifi返回true
|
void |
onConnected(android.os.Bundle bundle) |
void |
onConnectionFailed(com.google.android.gms.common.ConnectionResult connectionResult) |
void |
onConnectionSuspended(int i) |
static void |
onCreateGPS(android.app.Application context)
注册gps监听服务
|
void |
onLocationChanged(android.location.Location location)
注册完位置跟踪策略后,每隔一段时间会调用的这个方法,同时会拿到当前的位置
|
static boolean |
outOfChina(double lat,
double lon)
根据真实经纬度判断在不在中国境内,采用方形判断
|
static void |
pauseGPS()
当app被放到后台时,暂停GPS
|
static void |
recordLocation(android.content.Context context,
double latitude,
double longitude,
float accuracy,
float bearing)
将获取到的经纬度记录在本地
|
static void |
restartGPS(android.app.Application context)
进入某些页面,重新刷GPS
|
void |
sendJsonByPost(java.lang.String json,
java.lang.String url)
使用httpclient发送一个post的json请求
|
static void |
stopGPS()
停止gps服务,用来省电
|
static double |
transformLat(double x,
double y) |
static double |
transformLon(double x,
double y) |
public static final java.lang.String GOOGLE_API_KEY
public static final boolean autoChina
public static final boolean isGeoApp
public static final int FAST_UPDATE_INTERVAL
public static final int FAST_DISPLACEMENT
public static AlxLocationManager manager
public AlxLocationManager.STATUS currentStatus
public java.lang.String dataJson
public static final boolean isDebugging
public static double pi
public static double a
public static double ee
public static AlxLocationManager getInstance()
public static void onCreateGPS(android.app.Application context)
context
- public static void restartGPS(android.app.Application context)
context
- public static void stopGPS()
public static void pauseGPS()
public void onConnected(@Nullable android.os.Bundle bundle)
onConnected
在接口中 com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks
public boolean getCurrentLocation()
public void onConnectionSuspended(int i)
onConnectionSuspended
在接口中 com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks
public void onLocationChanged(android.location.Location location)
onLocationChanged
在接口中 com.google.android.gms.location.LocationListener
location
- public void onConnectionFailed(@NonNull com.google.android.gms.common.ConnectionResult connectionResult)
onConnectionFailed
在接口中 com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener
public static void recordLocation(android.content.Context context, double latitude, double longitude, float accuracy, float bearing)
context
- public static double[] getOldLocation(android.content.Context context)
public static AlxLocationManager.GeoLocationAPI getCellInfo(android.content.Context context)
public static boolean isWifiEnvironment(android.content.Context context)
context
- public static boolean considerIP(android.content.Context context)
context
- public static java.lang.String determine2g3g4g(android.content.Context context)
public static java.lang.String determine2g3g4g(android.net.NetworkInfo info)
info
- public static AlxLocationManager.GeoLocationAPI getWifiInfo(android.content.Context context, AlxLocationManager.GeoLocationAPI geoLocationAPI)
context
- geoLocationAPI
- public static short getChannelByFrequency(int frequency)
frequency
- public static java.lang.String getCarrier(java.lang.String operatorString)
operatorString
- public void sendJsonByPost(java.lang.String json, java.lang.String url)
url
- public void checkNetCardState(android.net.wifi.WifiManager mWifiManager)
public static void getConnectedWifiInfo(android.net.wifi.WifiManager wifiManager)
public static double getGPSDistance(double lat_a, double lng_a, double lat_b, double lng_b)
lat_a
- lng_a
- lat_b
- lng_b
- public static AlxLocation gps84_To_Gcj02(double lat, double lon)
lat
- lon
- public static double transformLat(double x, double y)
public static double transformLon(double x, double y)
public static boolean outOfChina(double lat, double lon)
lat
- lon
-