Android淮安市主要公交线路查询系统设计与实现(6)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

Android淮安市主要公交线路查询系统设计与实现(6)

    <uses-permission android:name="android。permission。ACCESS_GPS" />

(4)编写定位程序

这一步是定位的重点,百度地图可以使用GPS和网络定位(WIFI和基站)进行定位,主要会用到LocationClient、BDLocationListener、BDNotifyListener、LocationClientOption等类。

1、初始化LocationClient类

LocationClient类是定位SDK的核心类,必须在主线程中声明。

2、设置定位参数

LocationClientOption locOption = new LocationClientOption(); 

        locOption。setLocationMode(LocationMode。Hight_Accuracy);// 设置定位模式 

locOption。setOpenGps(true);//开启GPS

        locOption。setCoorType("bd09ll");// 设置定位坐标类型 

        locOption。setScanSpan(1000);// 设置发起定位请求的间隔时间,ms 

        locOption。setIsNeedAddress(true);// 返回的定位结果包含地址信息 

        locationClient。setLocOption(locOption);

坐标类型分为三种:国测局经纬度坐标系(gcj02),百度墨卡托坐标系(bd09),百度经纬度坐标系(bd09ll)。本设计采用百度经纬度坐标系(bd09ll)。

3、添加位置提醒监听函数论文网

notifyListener = new MyNotifyListener(); 

notifyListener。SetNotifyLocation(longitude, latitude, 3000, "bd09ll");//精度,维度,范围,坐标类型 

locationClient。registerNotify(notifyListener);

4、开启定位

调用LocationClient的start()方法用来启动定位SDK。

this。mLocClient = new LocationClient(this);

locData = new LocationData();

this。mLocClient。registerLocationListener(this。myListener);

this。mLocClient。setLocOption(option);

this。mLocClient。start();

4。4 POI检索

POI,即Point of Interest,翻译过来就是“兴趣点”。我们在使用地图的时候,搜索周边的超市,饭店,或者公交站点的时候,输入关键字,然后地图展示给我们很多个点,这些点就是我需要的信息。这就是所谓的兴趣点,也就是一个普通的查询。

百度地图API提供了一个POI检索接口类:PoiSearch。该类的接口有两个回调函数,一个用于接收返回的poi查询结果,一个用于接收返回的详情查询结果。而结果分别封装在PoiResult和PoiDetailResult这两个类中了。

// 实例化PoiSearch对象 

        poiSearch = PoiSearch。newInstance(); 

        // 设置检索监听器 

        poiSearch。setOnGetPoiSearchResultListener(poiSearchListener);

/** 

     * POI检索监听器 

     */ 

    OnGetPoiSearchResultListener poiSearchListener = new OnGetPoiSearchResultListener() { 

        @Override 

        public void onGetPoiResult(PoiResult poiResult) { 

            if (poiResult == null 

                    || poiResult。error == SearchResult。ERRORNO。RESULT_NOT_FOUND) {// 没有找到检索结果 

                Toast。makeText(PoiSearchActivity。this, "未找到结果", 

                        Toast。LENGTH_LONG)。show(); 

                return; 

            }  (责任编辑:qin)