百度地图的学习

来源:互联网 发布:spring boot jpa sql 编辑:程序博客网 时间:2024/06/11 16:11

今天自己学着集成百度地图发现百度存在如下几个不足

百度 api老旧,下载了sdk,java文件还是报错,找不到类等等
新手引导很少,不知道如何下手,如何开始集成
教程细节(如代码)不是很完整,需要比对它的demo去完善诸如图片 布局文件 字符串等

言归正传


学习百度地图,最好先看下它的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 信息,不用时及时 recycleBitmapDescriptor 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);@Overridepublic 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); // 打开gpsoption.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 overlayLatLng 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 {@Overridepublic 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) {}}@Overrideprotected void onPause() {mMapView.onPause();super.onPause();}@Overrideprotected void onResume() {mMapView.onResume();super.onResume();}@Overrideprotected 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 {@Overridepublic void onCreate() {// TODO Auto-generated method stubsuper.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());            }        }    };}


libs



引入的包




1 0