今天自己学着集成百度地图发现百度存在如下几个不足
言归正传
学习百度地图,最好先看下它的demo,在android它总共有三个demo,其中BaiduMapSDKDemo是比较值得好好地学习的,红色箭头所示,libs中的api manifest布局文件中的一些权限可以直接放入自己的项目中,当然可以根据自己项目的需求把不需要的libs包删除(记得修改百度秘钥为自己的)下图是怎样创建百度秘钥的方法
在运行的时候记得改变秘钥的值
2016.4.22 总结今天学习的到的内容 ,重新的百度地图的集成流程有了一定的了解,认识了他的复杂性,不熟悉百度地图集成的新手往往会绕弯路,浪费大量的时间,要把百度集成到自己的项目,要一步一步来,不可能一下子就集成所有想要的功能,多研究demo和借鉴其他人更好的demo。
2016.4.23 今天的学习有些暴力,就是直接参照百度sample,把libs和一些配置文件,java文件拷贝,同时注意读懂百度的一些图 是关键,知道图代表的意思(依次点击显示的图片)。
相关代码
定位 地图
package com.pc.baidutest;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
//import android.widget.RadioGroup;
import android.widget.SeekBar;
import android.widget.Toast;
//import android.widget.RadioGroup.OnCheckedChangeListener;
import java.util.ArrayList;
import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.BitmapDescriptor;
import com.baidu.mapapi.map.BitmapDescriptorFactory;
import com.baidu.mapapi.map.GroundOverlayOptions;
import com.baidu.mapapi.map.InfoWindow;
import com.baidu.mapapi.map.MapStatus;
import com.baidu.mapapi.map.MapStatusUpdate;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.Marker;
import com.baidu.mapapi.map.MarkerOptions;
import com.baidu.mapapi.map.MyLocationConfiguration;
import com.baidu.mapapi.map.MyLocationConfiguration.LocationMode;
import com.baidu.mapapi.map.MyLocationData;
import com.baidu.mapapi.map.OverlayOptions;
import com.baidu.mapapi.map.BaiduMap.OnMarkerClickListener;
import com.baidu.mapapi.map.BaiduMap.OnMarkerDragListener;
import com.baidu.mapapi.map.InfoWindow.OnInfoWindowClickListener;
import com.baidu.mapapi.model.LatLng;
import com.baidu.mapapi.model.LatLngBounds;
/**
* 此demo用来展示如何结合定位SDK实现定位,并使用MyLocationOverlay绘制定位位置 同时展示如何使用自定义图标绘制并点击时弹出泡泡
*/
public class LocationDemo extends Activity {
// 定位相关
LocationClient mLocClient;
public MyLocationListenner myListener = new MyLocationListenner();
private LocationMode mCurrentMode;
BitmapDescriptor mCurrentMarker;
private static final int accuracyCircleFillColor = 0xAAFFFF88;
private static final int accuracyCircleStrokeColor = 0xAA00FF00;
MapView mMapView;
BaiduMap mBaiduMap;
// UI相关
// OnCheckedChangeListener radioButtonListener;
Button requestLocButton;
boolean isFirstLoc = true; // 是否首次定位
// 添加覆盖物的 点
/**
* MapView 是地图主控件
*/
private Marker mMarkerA;
private Marker mMarkerB;
private Marker mMarkerC;
private Marker mMarkerD;
private InfoWindow mInfoWindow;
private SeekBar alphaSeekBar = null;
private CheckBox animationBox = null;
// 初始化全局 bitmap 信息,不用时及时 recycle
BitmapDescriptor bdA = BitmapDescriptorFactory.fromResource(R.drawable.icon_marka);
BitmapDescriptor bdB = BitmapDescriptorFactory.fromResource(R.drawable.icon_markb);
BitmapDescriptor bdC = BitmapDescriptorFactory.fromResource(R.drawable.icon_markc);
BitmapDescriptor bdD = BitmapDescriptorFactory.fromResource(R.drawable.icon_markd);
BitmapDescriptor bd = BitmapDescriptorFactory.fromResource(R.drawable.icon_gcoding);
// BitmapDescriptor bdGround = BitmapDescriptorFactory.fromResource(R.drawable.ground_overlay);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_location);
requestLocButton = (Button) findViewById(R.id.button1);
mCurrentMode = LocationMode.NORMAL;
requestLocButton.setText("普通");
OnClickListener btnClickListener = new OnClickListener() {
public void onClick(View v) {
switch (mCurrentMode) {
case NORMAL:
requestLocButton.setText("跟随");
mCurrentMode = LocationMode.FOLLOWING;
mBaiduMap.setMyLocationConfigeration(
new MyLocationConfiguration(mCurrentMode, true, mCurrentMarker));
break;
case COMPASS:
requestLocButton.setText("普通");
mCurrentMode = LocationMode.NORMAL;
mBaiduMap.setMyLocationConfigeration(
new MyLocationConfiguration(mCurrentMode, true, mCurrentMarker));
break;
case FOLLOWING:
requestLocButton.setText("罗盘");
mCurrentMode = LocationMode.COMPASS;
mBaiduMap.setMyLocationConfigeration(
new MyLocationConfiguration(mCurrentMode, true, mCurrentMarker));
break;
default:
break;
}
}
};
requestLocButton.setOnClickListener(btnClickListener);
// 地图初始化
mMapView = (MapView) findViewById(R.id.bmapView);
mBaiduMap = mMapView.getMap();
// 开启定位图层
mBaiduMap.setMyLocationEnabled(true);
// 定位初始化
mLocClient = new LocationClient(this);
mLocClient.registerLocationListener(myListener);
LocationClientOption option = new LocationClientOption();
option.setOpenGps(true); // 打开gps
option.setCoorType("bd09ll"); // 设置坐标类型
option.setScanSpan(1000);
mLocClient.setLocOption(option);
mLocClient.start();
// 显示覆盖物
initOverlay();
// 覆盖物的点击事件
mBaiduMap.setOnMarkerClickListener(new OnMarkerClickListener() {
public boolean onMarkerClick(final Marker marker) {
//这里的button是图标的背景
Button button = new Button(getApplicationContext());
button.setBackgroundResource(R.drawable.popup);
OnInfoWindowClickListener listener = null;
//标记marker点击的效果是移动位置
if (marker == mMarkerA || marker == mMarkerD) {
button.setText("更改位置");
listener = new OnInfoWindowClickListener() {
public void onInfoWindowClick() {
LatLng ll = marker.getPosition();
LatLng llNew = new LatLng(ll.latitude + 0.005, ll.longitude + 0.005);
marker.setPosition(llNew);
mBaiduMap.hideInfoWindow();
}
};
//这里的button是图标的背景,但是这个背景button,会经过一个重新绘制
LatLng ll = marker.getPosition();
mInfoWindow = new InfoWindow(BitmapDescriptorFactory.fromView(button), ll, -47, listener);
mBaiduMap.showInfoWindow(mInfoWindow);
}
//标记marker移动的效果是更改图标
else if (marker == mMarkerB) {
button.setText("更改图标");
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
marker.setIcon(bd);
mBaiduMap.hideInfoWindow();
}
});
//重新绘制
LatLng ll = marker.getPosition();
mInfoWindow = new InfoWindow(button, ll, -47);
mBaiduMap.showInfoWindow(mInfoWindow);
} else if (marker == mMarkerC) {
button.setText("删除");
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//删除了marker不再显示
marker.remove();
mBaiduMap.hideInfoWindow();
}
});
//重新绘制
LatLng ll = marker.getPosition();
mInfoWindow = new InfoWindow(button, ll, -47);
mBaiduMap.showInfoWindow(mInfoWindow);
}
return true;
}
});
}
private void initOverlay() {
// add marker overlay
LatLng llA = new LatLng(31.382395, 120.59897);
LatLng llB = new LatLng(31.482395, 120.09897);
LatLng llC = new LatLng(31.582395, 120.89897);
LatLng llD = new LatLng(31.682395, 120.39897);
MarkerOptions ooA = new MarkerOptions().position(llA).icon(bdA).zIndex(9).draggable(true);
mMarkerA = (Marker) (mBaiduMap.addOverlay(ooA));
MarkerOptions ooB = new MarkerOptions().position(llB).icon(bdB).zIndex(9);
mMarkerB = (Marker) (mBaiduMap.addOverlay(ooB));
MarkerOptions ooC = new MarkerOptions().position(llC).icon(bdC).perspective(false).anchor(0.5f, 0.5f).rotate(30)
.zIndex(9);
mMarkerC = (Marker) (mBaiduMap.addOverlay(ooC));
ArrayList<BitmapDescriptor> giflist = new ArrayList<BitmapDescriptor>();
giflist.add(bdA);
giflist.add(bdB);
giflist.add(bdC);
MarkerOptions ooD = new MarkerOptions().position(llD).icons(giflist).zIndex(9).period(10);
mMarkerD = (Marker) (mBaiduMap.addOverlay(ooD));
}
/**
* 定位SDK监听函数
*/
public class MyLocationListenner implements BDLocationListener {
@Override
public void onReceiveLocation(BDLocation location) {
// map view 销毁后不在处理新接收的位置
if (location == null || mMapView == null) {
return;
}
MyLocationData locData = new MyLocationData.Builder().accuracy(location.getRadius())
// 此处设置开发者获取到的方向信息,顺时针0-360
.direction(100).latitude(location.getLatitude()).longitude(location.getLongitude()).build();
mBaiduMap.setMyLocationData(locData);
if (isFirstLoc) {
isFirstLoc = false;
LatLng ll = new LatLng(location.getLatitude(), location.getLongitude());
MapStatus.Builder builder = new MapStatus.Builder();
builder.target(ll).zoom(18.0f);
mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
}
}
public void onReceivePoi(BDLocation poiLocation) {
}
}
@Override
protected void onPause() {
mMapView.onPause();
super.onPause();
}
@Override
protected void onResume() {
mMapView.onResume();
super.onResume();
}
@Override
protected void onDestroy() {
// 退出时销毁定位
mLocClient.stop();
// 关闭定位图层
mBaiduMap.setMyLocationEnabled(false);
mMapView.onDestroy();
mMapView = null;
// 回收 bitmap 资源
bdA.recycle();
bdB.recycle();
bdC.recycle();
bdD.recycle();
bd.recycle();
// bdGround.recycle();
super.onDestroy();
}
}
Application类
package com.pc.baidutest;
import com.baidu.mapapi.SDKInitializer;
import android.app.Application;
public class PetrolStationApplication extends Application {
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
SDKInitializer.initialize(getApplicationContext());
}
}
manifest
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.pc.baidutest"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<!-- 百度需要的权限 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<!-- 这个权限用于进行网络定位 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 这个权限用于访问GPS定位 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 获取运营商信息,用于支持提供运营商信息相关的接口 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 用于读取手机当前的状态 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 访问网络,网络定位需要上网 -->
<uses-permission android:name="android.permission.INTERNET" />
<application
android:name = "com.pc.baidutest.PetrolStationApplication"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="4E8HXxnltyT9vIKKM1YivSTdhimGW1Ce" />
<activity
android:name=".LocationDemo"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
下载链接 http://pan.baidu.com/s/1dFrxxz7
百度地图整理二:
百度地图的学习流程记录:
这里是首页和开发的一个简短动态图,开发基本上就是需要图片上所示的区域
涉及 到主页的sdk下载 文档的下载
开发中的 几个必须要去的页面
附一张开发图索引(简介):
ps: 是首页不是主页
开发文档图片(3.7.3是一个综合了许多功能的文档,其中就包括了定位,具体可以看概述):
百度整理三
定位城市
文档:
http://lbsyun.baidu.com/index.php?title=android-locsdk/guide/getloc
manifest
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jydev.myn">
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<!-- 这个权限用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<!-- 这个权限用于访问GPS定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<!-- 获取运营商信息,用于支持提供运营商信息相关的接口-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<!-- 用于读取手机当前的状态-->
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<!-- 访问网络,网络定位需要上网-->
<uses-permission android:name="android.permission.INTERNET" />
<!-- SD卡读取权限,用户写入离线定位数据-->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
<application
android:name=".activity.LocationApplication"
android:allowBackup="true"
android:icon="@mipmap/meiyaoni"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<service
android:name="com.baidu.location.f"
android:enabled="true"
android:process=":remote"></service>
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="百度key" /> //key:开发者申请的key
<activity
android:name="com.jydev.myn.activity.WelcomeAct"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.jydev.myn.activity.RegisterActivity" />
<activity
android:name="com.jydev.myn.activity.MainActivity"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity android:name="com.jydev.myn.activity.ForgetPdActivity" />
<activity android:name="com.jydev.myn.activity.SearchActivity" />
<activity android:name="com.jydev.myn.activity.CityActivity" />
<activity android:name="me.nereo.multi_image_selector.MultiImageSelectorActivity" />
<!-- <activity android:name=".activity.RegisterActivity" />
<activity
android:name=".activity.MainActivity"
android:windowSoftInputMode="adjustPan|stateHidden"
/>
<activity android:name=".activity.ForgetPdActivity" />
<activity android:name="me.nereo.multi_image_selector.MultiImageSelectorActivity"/>
<activity android:name=".activity.SearchActivity"/>-->
</application>
</manifest>
java文件
package com.jydev.myn.activity;
import android.app.Activity;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.baidu.location.service.LocationService;
import com.google.gson.Gson;
import com.jydev.myn.R;
import com.jydev.myn.bean.CityBean;
import com.jydev.myn.global.HttpUrl;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.nostra13.universalimageloader.utils.L;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.location.BDNotifyListener;//假如用到位置提醒功能,需要import该类
import com.baidu.location.Poi;
/**
* Created by pc on 2016/5/5.
*/
public class CityActivity extends Activity {
@ViewInject(R.id.city_back)
ImageView cityBack;
@ViewInject(R.id.txt_topbar)
TextView txtTopbar;
@ViewInject(R.id.ly_top_bar)
RelativeLayout lyTopBar;
@ViewInject(R.id.gps_city)
TextView LocationResult;
@ViewInject(R.id.lv_city)
ListView lvCity;
private List<CityBean.ListBean> list_spinner;
private List<String> list1 = new ArrayList<String>();
private static String[] m = null;
private LocationService locationService;
private Button startLocation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_city);
ViewUtils.inject(this);
getDataFromServer();
initData();
// LocationResult = (TextView) findViewById(R.id.textView1);
LocationResult.setMovementMethod(ScrollingMovementMethod.getInstance());
// startLocation = (Button) findViewById(R.id.addfence);
}
private void initData() {
//返回
cityBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
//定位
}
private void getDataFromServer() {
//spinner数据
HttpUtils http2 = new HttpUtils();
http2.send(HttpRequest.HttpMethod.GET, HttpUrl.User_Spinner, new RequestCallBack<String>() {
@Override
public void onSuccess(ResponseInfo<String> responseInfo) {
String str = responseInfo.result;
L.d("HomePager", str);
Gson gson = new Gson();
CityBean cityBean = gson.fromJson(responseInfo.result, CityBean.class);
list_spinner = cityBean.getList();
Iterator it = list_spinner.iterator();
StringBuffer stringBuffer = new StringBuffer();
while (it.hasNext()) {
CityBean.ListBean listBean = (CityBean.ListBean) it.next();
String name = listBean.getName();
list1.add(name);
}
m = new String[list1.size()];
m = list1.toArray(m);
//适配器adapter,数据源data
ArrayAdapter<String> adapter = new ArrayAdapter<String>(CityActivity.this,
android.R.layout.simple_list_item_1, m);
ListView listView = (ListView) findViewById(R.id.lv_city);
//列表listView
listView.setAdapter(adapter);
}
@Override
public void onFailure(HttpException error, String msg) {
L.d("HomePager", error.getExceptionCode() + ":" + msg);
}
});
}
/**
* 显示请求字符串
*
* @param str
*/
public void logMsg(String str) {
try {
if (LocationResult != null)
LocationResult.setText(str);
} catch (Exception e) {
e.printStackTrace();
}
}
/***
* Stop location service
*/
@Override
protected void onStop() {
// TODO Auto-generated method stub
locationService.unregisterListener(mListener); //注销掉监听
locationService.stop(); //停止定位服务
super.onStop();
}
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
// -----------location config ------------
locationService = ((LocationApplication) getApplication()).locationService;
//获取locationservice实例,建议应用中只初始化1个location实例,然后使用,可以参考其他示例的activity,都是通过此种方式获取locationservice实例的
locationService.registerListener(mListener);
//注册监听
int type = getIntent().getIntExtra("from", 0);
if (type == 0) {
locationService.setLocationOption(locationService.getDefaultLocationClientOption());
} else if (type == 1) {
locationService.setLocationOption(locationService.getOption());
}
// startLocation.setOnClickListener(new View.OnClickListener() {
//
// @Override
// public void onClick(View v) {
// if (startLocation.getText().toString().equals(getString(R.string.startlocation))) {
// locationService.start();// 定位SDK
// // start之后会默认发起一次定位请求,开发者无须判断isstart并主动调用request
// startLocation.setText(getString(R.string.stoplocation));
// } else {
// locationService.stop();
// startLocation.setText(getString(R.string.startlocation));
// }
// }
// });
locationService.start();// 定位SDK
}
/*****
* @see copy funtion to you project
* 定位结果回调,重写onReceiveLocation方法,可以直接拷贝如下代码到自己工程中修改
*
*/
private BDLocationListener mListener = new BDLocationListener() {
@Override
public void onReceiveLocation(BDLocation location) {
// TODO Auto-generated method stub
if (null != location && location.getLocType() != BDLocation.TypeServerError) {
StringBuffer sb = new StringBuffer(256);
// sb.append("time : ");
/**
* 时间也可以使用systemClock.elapsedRealtime()方法 获取的是自从开机以来,每次回调的时间;
* location.getTime() 是指服务端出本次结果的时间,如果位置不发生变化,则时间不变
*/
// sb.append(location.getTime());
// sb.append("\nerror code : ");
// sb.append(location.getLocType());
// sb.append("\nlatitude : ");
// sb.append(location.getLatitude());
// sb.append("\nlontitude : ");
// sb.append(location.getLongitude());
// sb.append("\nradius : ");
// sb.append(location.getRadius());
// sb.append("\nCountryCode : ");
// sb.append(location.getCountryCode());
// sb.append("\nCountry : ");
// sb.append(location.getCountry());
// sb.append("\ncitycode : ");
// sb.append(location.getCityCode());
// sb.append("\ncity : ");
sb.append(location.getCity());
// sb.append("\nDistrict : ");
// sb.append(location.getDistrict());
// sb.append("\nStreet : ");
// sb.append(location.getStreet());
// sb.append("\naddr : ");
// sb.append(location.getAddrStr());
// sb.append("\nDescribe: ");
// sb.append(location.getLocationDescribe());
// sb.append("\nDirection(not all devices have value): ");
// sb.append(location.getDirection());
// sb.append("\nPoi: ");
// if (location.getPoiList() != null && !location.getPoiList().isEmpty()) {
// for (int i = 0; i < location.getPoiList().size(); i++) {
// Poi poi = (Poi) location.getPoiList().get(i);
// sb.append(poi.getName() + ";");
// }
// }
// if (location.getLocType() == BDLocation.TypeGpsLocation) {// GPS定位结果
// sb.append("\nspeed : ");
// sb.append(location.getSpeed());// 单位:km/h
// sb.append("\nsatellite : ");
// sb.append(location.getSatelliteNumber());
// sb.append("\nheight : ");
// sb.append(location.getAltitude());// 单位:米
// sb.append("\ndescribe : ");
// sb.append("gps定位成功");
// } else if (location.getLocType() == BDLocation.TypeNetWorkLocation) {// 网络定位结果
// // 运营商信息
// sb.append("\noperationers : ");
// sb.append(location.getOperators());
// sb.append("\ndescribe : ");
// sb.append("网络定位成功");
// } else if (location.getLocType() == BDLocation.TypeOffLineLocation) {// 离线定位结果
// sb.append("\ndescribe : ");
// sb.append("离线定位成功,离线定位结果也是有效的");
// } else if (location.getLocType() == BDLocation.TypeServerError) {
// sb.append("\ndescribe : ");
// sb.append("服务端网络定位失败,可以反馈IMEI号和大体定位时间到loc-bugs@baidu.com,会有人追查原因");
// } else if (location.getLocType() == BDLocation.TypeNetWorkException) {
// sb.append("\ndescribe : ");
// sb.append("网络不同导致定位失败,请检查网络是否通畅");
// } else if (location.getLocType() == BDLocation.TypeCriteriaException) {
// sb.append("\ndescribe : ");
// sb.append("无法获取有效定位依据导致定位失败,一般是由于手机的原因,处于飞行模式下一般会造成这种结果,可以试着重启手机");
// }
L.d("CityActivity",sb.toString());
logMsg(sb.toString());
}
}
};
}
引入的包