
通过mac地址查询可以看到最近位置的经度、纬度、描述和时间。
当然如果你觉得mac地址太麻烦了,也可以使用账号密码登录来作为查询条件,我是懒得写账号密码登录了,所以选择了用机器的mac地址来做唯一标识。
下面是初始化百度地图和进行定位的代码。
/**
* 初始化百度地图
*/
private void initBaiDuMap() {
mLocationClient = new LocationClient(getApplicationContext());
option = new LocationClientOption();
option.setIsNeedLocationDescribe(true);
option.setIsNeedAddress(true);
option.setIsNeedLocationPoiList(true);
//可选,是否需要地址信息,默认为不需要,即参数为false
//如果开发者需要获得当前点的地址信息,此处必须为true
option.setOpenGps(true); // 打开gps
option.setCoorType("bd09ll"); // 设置坐标类型
option.setScanSpan(1000);
mLocationClient.setLocOption(option);
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
SDKInitializer.initialize(this);
//自4.3.0起,百度地图SDK所有接口均支持百度坐标和国测局坐标,用此方法设置您使用的坐标类型.
//包括BD09LL和GCJ02两种坐标,默认是BD09LL坐标。
SDKInitializer.setCoordType(CoordType.BD09LL);
}
/**
* 发起定位
*
@param handler
* @param arg1
*/
public static void locateNow(final Handler handler, final int arg1) {
bdAbstractLocationListener = new BDAbstractLocationListener() {
@Override
public void onReceiveLocation(BDLocation bdLocation) {
GuLogUtils.log("UploadLocationService", "发送了一次定位");
Message message = handler.obtainMessage();
message.arg1 = arg1;
message.obj = bdLocation;
handler.sendMessage(message);
mLocationClient.unRegisterLocationListener(bdAbstractLocationListener);
mLocationClient.stop();
}
};
mLocationClient.registerLocationListener(bdAbstractLocationListener);
mLocationClient.start();
}