11 百度地图

1)、地图定位功能:是采用GPS、WIFI、基站、IP混合定位模式,并使用Android定位SDK获取定位信息,再使用地图SDK定位图层进行位置展示的。

首先初始化地图Activity并添加定位图层,代码如下:

BMapApiDemoAppapp = (BMapApiDemoApp)this.getApplication();

       if (app.mBMapMan == null) {

              app.mBMapMan = newBMapManager(getApplication());

app.mBMapMan.init(app.mStrKey, new BMapApiDemoApp.MyGeneralListener());

              }

              app.mBMapMan.start();

       super.initMapActivity(app.mBMapMan);

       mMapView =(MapView)findViewById(R.id.bmapView);

       mMapView.setBuiltInZoomControls(true);

      mMapView.setDrawOverlayWhenZooming(true);

       mLocationOverlay = newMyLocationOverlay(this, mMapView);

              mMapView.getOverlays().add(mLocationOverlay);

然后注册定位事件,代码如下:

   mLocationListener = new LocationListener(){

      public voidonLocationChanged(Location location) {

             if(location != null){

                    String strLog= String.format("您当前的位置:\r\n" + "纬度:%f\r\n" + "经度:%f", location.getLongitude(),location.getLatitude());

                           TextViewmainText = (TextView)findViewById(R.id.textview);

                            mainText.setText(strLog);

             }

      }

   };

注册定位事件,定位后将地图移动到定位点,并打开指南针,代码如下

app.mBMapMan.getLocationManager().requestLocationUpdates(mLocationListener);

mLocationOverlay.enableMyLocation();

mLocationOverlay.enableCompass();

app.mBMapMan.start();

这样通过百度地图API的地图定位就完成了。

2)、公交线路查询功能:是提供公交线路类型,并包含多种方案(不含地铁、时间优先、最少换乘、最少步行)的线路规划。

首先初始化地图Activity并添加定位图层,其次注册搜索监听事件,由于代码类似,这里不再粘贴。

然后处理搜索按钮响应,代码如下:

EditText editSt =(EditText)findViewById(R.id.start);

EditText editEn = (EditText)findViewById(R.id.end);

                    

对起点终点的name进行赋值,也可以直接对坐标赋值,赋值坐标则将根据坐标进行搜索

MKPlanNode stNode = new MKPlanNode();

stNode.name = editSt.getText().toString();

MKPlanNode enNode = new MKPlanNode();

enNode.name = editEn.getText().toString();

实际使用中请对起点终点城市进行正确的设定

if (mBtnTransit.equals(v)) {

       mSearch.transitSearch("北京", stNode, enNode);

}

最后搜索监听成功,就会通过如下方法返回数据,代码如下:

public voidonGetTransitRouteResult(MKTransitRouteResult res,

                                   interror) {

       TransitOverlay  routeOverlay = new TransitOverlay (RoutePlan.this,mMapView);

       routeOverlay.setData(res.getPlan(0));

       mMapView.getOverlays().clear();

       mMapView.getOverlays().add(routeOverlay);

       mMapView.invalidate();

       mMapView.getController().animateTo(res.getStart().pt);

}

这样通过百度地图API的公交线路查询功能就完成了。

3)、自驾线路查询功能:是提供驾车线路类型,并以最近距离为参照的线路规划。

这里自驾线路查询功能与公交线路查询功能类似,不再赘述。

4)、步行线路查询功能:是提供步行路线类型,并以最近距离为参照的线路规划。

这里步行线路查询功能与公交线路查询功能类似,不再赘述。

 

其次,额外新增的三个功能。

1)、搜索公交车功能:是根据提供的公交车号进行检索并使用MapView进行线路展示的。

2)、搜索位置点功能:是提供地址信息与坐标之间的相互转换,并使用地图SDK定位图层进行位置展示的。

3)、搜索建议功能:是根据提供的关键字进行范围检索、城市检索和周边检索,且支持LBS云检索用户自有数据。再使用ListView列表进行展示的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值