BaiduMapApiDemo.rar
大小:1.66MB
价格:46积分
下载量:0
评分:
5.0
上传者:zgf1991
更新日期:2025-09-22

基于百度地图demo修改了一下公交路线的显示

资源文件列表(大概)

文件名
大小
BaiduMapApiDemo\.classpath
194B
BaiduMapApiDemo\.project
279B
BaiduMapApiDemo\AndroidManifest.xml
730B
BaiduMapApiDemo\bin\BaiduMapApiDemo.apk
737.92KB
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\BMapApiDemoApp$MyGeneralListener.class
737B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\BMapApiDemoApp.class
689B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\BMapApiDemoMain$1.class
617B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\BMapApiDemoMain.class
1.82KB
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\ces\RouteTransitResult.class
1.44KB
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\ces\SearchRouteResult$1.class
813B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\ces\SearchRouteResult.class
944B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\ces\SearchRouthRusultDesc$1.class
714B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\ces\SearchRouthRusultDesc.class
917B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\GeoCoder$1.class
1.97KB
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\GeoCoder$2.class
486B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\GeoCoder$OverItemT.class
983B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\GeoCoder.class
1.66KB
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\ItemizedOverlayDemo.class
1.69KB
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\LocationOverlay$1.class
701B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\LocationOverlay.class
1.38KB
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\MapViewDemo.class
972B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\MyLocation$1.class
827B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\MyLocation.class
966B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\OfflineDemo$1.class
915B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\OfflineDemo$2.class
915B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\OfflineDemo$3.class
908B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\OfflineDemo$4.class
914B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\OfflineDemo$5.class
856B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\OfflineDemo$6$1.class
492B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\OfflineDemo$6.class
1.28KB
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\OfflineDemo.class
2.3KB
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\OverItemT.class
2.14KB
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\PoiSearch$1.class
1.52KB
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\PoiSearch$2.class
485B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\PoiSearch.class
1.54KB
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\R$attr.class
266B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\R$drawable.class
334B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\R$id.class
621B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\R$layout.class
441B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\R$string.class
323B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\R.class
340B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\RoutePlan$1.class
1.45KB
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\RoutePlan$2.class
490B
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\RoutePlan.class
2.41KB
BaiduMapApiDemo\bin\classes.dex
49.78KB
BaiduMapApiDemo\bin\res\drawable\icon.png
2.15KB
BaiduMapApiDemo\bin\res\drawable\iconmarka.png
1020B
BaiduMapApiDemo\bin\res\drawable\pop.png
1.28KB
BaiduMapApiDemo\bin\res\drawable-hdpi\icon.png
3.87KB
BaiduMapApiDemo\bin\res\drawable-hdpi\iconmarka.png
1020B
BaiduMapApiDemo\bin\res\drawable-hdpi\pop.png
1.28KB
BaiduMapApiDemo\bin\res\drawable-ldpi\icon.png
1.5KB
BaiduMapApiDemo\bin\res\drawable-ldpi\iconmarka.png
1020B
BaiduMapApiDemo\bin\res\drawable-ldpi\pop.png
1.28KB
BaiduMapApiDemo\bin\res\drawable-mdpi\icon.png
2.15KB
BaiduMapApiDemo\bin\res\drawable-mdpi\iconmarka.png
1020B
BaiduMapApiDemo\bin\res\drawable-mdpi\pop.png
1.28KB
BaiduMapApiDemo\bin\resources.ap_
17.4KB
BaiduMapApiDemo\gen\com\baidu\mapapi\demo\R.java
618B
BaiduMapApiDemo\libs\armeabi\libBMapApiEngine.so
430KB
BaiduMapApiDemo\libs\baidumapapi.jar
199.24KB
BaiduMapApiDemo\libs\gson-2.1.jar
155.88KB
BaiduMapApiDemo\proguard.cfg
451B
BaiduMapApiDemo\project.properties
272B
BaiduMapApiDemo\res\drawable\icon.png
2.51KB
BaiduMapApiDemo\res\drawable\iconmarka.png
867B
BaiduMapApiDemo\res\drawable\pop.png
1.28KB
BaiduMapApiDemo\res\drawable-hdpi\icon.png
4.05KB
BaiduMapApiDemo\res\drawable-hdpi\iconmarka.png
867B
BaiduMapApiDemo\res\drawable-hdpi\pop.png
1.28KB
BaiduMapApiDemo\res\drawable-ldpi\icon.png
1.68KB
BaiduMapApiDemo\res\drawable-ldpi\iconmarka.png
867B
BaiduMapApiDemo\res\drawable-ldpi\pop.png
1.28KB
BaiduMapApiDemo\res\drawable-mdpi\icon.png
2.51KB
BaiduMapApiDemo\res\drawable-mdpi\iconmarka.png
867B
BaiduMapApiDemo\res\drawable-mdpi\pop.png
1.28KB
BaiduMapApiDemo\res\layout\geocoder.xml
448B
BaiduMapApiDemo\res\layout\main.xml
293B
BaiduMapApiDemo\res\layout\maproutesearchdesc.xml
367B
BaiduMapApiDemo\res\layout\maproutesearchres.xml
355B
BaiduMapApiDemo\res\layout\mapviewdemo.xml
229B
BaiduMapApiDemo\res\layout\mylocation.xml
245B
BaiduMapApiDemo\res\layout\offline.xml
532B
BaiduMapApiDemo\res\layout\poisearch.xml
416B
BaiduMapApiDemo\res\layout\popview.xml
251B
BaiduMapApiDemo\res\layout\routeplan.xml
422B
BaiduMapApiDemo\res\values\strings.xml
139B
BaiduMapApiDemo\src\com\baidu\mapapi\demo\BMapApiDemoApp.java
897B
BaiduMapApiDemo\src\com\baidu\mapapi\demo\BMapApiDemoMain.java
1.18KB
BaiduMapApiDemo\src\com\baidu\mapapi\demo\ces\RouteTransitResult.java
795B
BaiduMapApiDemo\src\com\baidu\mapapi\demo\ces\SearchRouteResult.java
632B
BaiduMapApiDemo\src\com\baidu\mapapi\demo\ces\SearchRouthRusultDesc.java
569B
BaiduMapApiDemo\src\com\baidu\mapapi\demo\GeoCoder.java
1.94KB
BaiduMapApiDemo\src\com\baidu\mapapi\demo\ItemizedOverlayDemo.java
2.19KB
BaiduMapApiDemo\src\com\baidu\mapapi\demo\LocationOverlay.java
1.02KB
BaiduMapApiDemo\src\com\baidu\mapapi\demo\MapViewDemo.java
580B
BaiduMapApiDemo\src\com\baidu\mapapi\demo\MyLocation.java
737B
BaiduMapApiDemo\src\com\baidu\mapapi\demo\OfflineDemo.java
1.58KB
BaiduMapApiDemo\src\com\baidu\mapapi\demo\PoiSearch.java
1.47KB
BaiduMapApiDemo\src\com\baidu\mapapi\demo\RoutePlan.java
1.79KB
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\ces
-
BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo
-
BaiduMapApiDemo\src\com\baidu\mapapi\demo\ces
-
BaiduMapApiDemo\bin\classes\com\baidu\mapapi
-
BaiduMapApiDemo\gen\com\baidu\mapapi\demo
-
BaiduMapApiDemo\src\com\baidu\mapapi\demo
-
BaiduMapApiDemo\bin\classes\com\baidu
-
BaiduMapApiDemo\gen\com\baidu\mapapi
-
BaiduMapApiDemo\src\com\baidu\mapapi
-
BaiduMapApiDemo\bin\classes\com
-
BaiduMapApiDemo\bin\res\drawable
-
BaiduMapApiDemo\bin\res\drawable-hdpi
-
BaiduMapApiDemo\bin\res\drawable-ldpi
-
BaiduMapApiDemo\bin\res\drawable-mdpi
-
BaiduMapApiDemo\gen\com\baidu
-
BaiduMapApiDemo\src\com\baidu
-
BaiduMapApiDemo\bin\classes
-
BaiduMapApiDemo\bin\res
-
BaiduMapApiDemo\gen\com
-
BaiduMapApiDemo\libs\armeabi
-
BaiduMapApiDemo\res\drawable
-
BaiduMapApiDemo\res\drawable-hdpi
-
BaiduMapApiDemo\res\drawable-ldpi
-
BaiduMapApiDemo\res\drawable-mdpi
-
BaiduMapApiDemo\res\layout
-
BaiduMapApiDemo\res\values
-
BaiduMapApiDemo\src\com
-
BaiduMapApiDemo\assets
-
BaiduMapApiDemo\bin
-
BaiduMapApiDemo\gen
-
BaiduMapApiDemo\libs
-
BaiduMapApiDemo\res
-
BaiduMapApiDemo\src
-
BaiduMapApiDemo
-

资源内容介绍

在本项目中,我们主要关注的是如何利用百度地图API来修改和展示公交路线。百度地图API是一个强大的工具,它提供了丰富的地图服务,包括定位、路径规划、地理编码、地图渲染等,广泛应用于移动应用和Web开发中。在这个特定的示例中,开发者已经对官方提供的BaiduMapApiDemo进行了定制,尤其是针对公交路线的部分。我们要理解“RoutePlan”类在百度地图API中的作用。RoutePlan通常用于规划和表示路径,包括驾车、步行以及公交路线。在这个修改后的demo中,重点在于公交路线的展示。开发者可能修改了该类的某些方法,以实现更友好的公交换乘路线显示,比如增加了更多的信息提示,如出发时间、预计到达时间、换乘次数、步行距离等,或者优化了路线选择算法,使得用户可以更加直观地了解最佳公交换乘方案。"ces"包里的新增代码是关键。通常,开发者会将自定义的功能或改进封装在独立的模块中,便于管理和维护。在这个例子中,“ces”可能包含了与公交路线显示相关的类和方法,例如用于解析和呈现路线信息的工具类,或者用于跳转至详情页面的Activity。通过对这些代码的分析,我们可以学习到如何与百度地图SDK进行深度交互,定制个性化地图功能。在公交查询方面,百度地图API提供了公交路径规划接口,它可以根据起点和终点计算出最优的公交换乘方案。这个接口返回的数据通常包括多个路径选项,每个选项包含具体的线路、站点、换乘信息等。开发者可能通过解析这些数据,并结合UI设计,使得用户在界面上可以直接看到清晰的路线指南。关于换乘路线的详细信息,开发者可能增加了点击事件监听,当用户点击某个公交路线时,可以弹出一个新的界面展示详细信息,如公交站名、预计乘车时间、首末班车时间等。这种交互方式提高了用户体验,让用户能够方便地获取所需信息。由于项目中并未提及其他部分的修改,我们可以推断官方的BaiduMapApiDemo其他功能保持原样,如地图的加载、定位、缩放和平移等基础功能。这表明开发者专注于核心需求,即公交路线的展示和查询,而没有对整体框架进行大规模改动,这是一种良好的代码实践。总结来说,这个基于百度地图的demo修改项目展示了如何利用百度地图API定制公交查询功能,特别是优化了路线展示和提供详细信息。通过学习和理解这个项目的源码,我们可以掌握如何与百度地图SDK高效协作,创建满足特定需求的地图应用。
package com.baidu.mapapi.demo;import java.util.ArrayList;import com.baidu.mapapi.BMapManager;import com.baidu.mapapi.MKOLSearchRecord;import com.baidu.mapapi.MKOLUpdateElement;import com.baidu.mapapi.MKOfflineMap;import com.baidu.mapapi.MKOfflineMapListener;import com.baidu.mapapi.MapActivity;import com.baidu.mapapi.MapView;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;public class OfflineDemo extends MapActivity implements MKOfflineMapListener {private MapView mMapView = null;private MKOfflineMap mOffline = null;private EditText mEditCityName;private EditText mEditCityId;private TextView mText;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.offline);BMapApiDemoApp app = (BMapApiDemoApp)this.getApplication();if (app.mBMapMan == null) {app.mBMapMan = new BMapManager(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); mOffline = new MKOfflineMap(); mOffline.init(app.mBMapMan, this); ArrayList<MKOLUpdateElement> info = mOffline.getAllUpdateInfo(); if (info != null) { Log.d("OfflineDemo", String.format("has %d city info", info.size())); if (info.get(0).status == MKOLUpdateElement.FINISHED) { } } ArrayList<MKOLSearchRecord> records = mOffline.getHotCityList(); if (records != null) { Log.d("OfflineDemo", String.format("has %d hot city", records.size())); } mEditCityName = (EditText)findViewById(R.id.city); mEditCityId = (EditText)findViewById(R.id.cityid); mText = (TextView)findViewById(R.id.text); Button btn = (Button)findViewById(R.id.start); btn.setOnClickListener( new OnClickListener() {public void onClick(View v) {int cityid = -1;try {cityid = Integer.parseInt(mEditCityId.getText().toString());} catch (Exception e) {} if (mOffline.start(cityid)) { Log.d("OfflineDemo", String.format("start cityid:%d", cityid)); } else { Log.d("OfflineDemo", String.format("not start cityid:%d", cityid)); }}}); btn = (Button)findViewById(R.id.stop); btn.setOnClickListener( new OnClickListener() {public void onClick(View v) {int cityid = -1;try {cityid = Integer.parseInt(mEditCityId.getText().toString());} catch (Exception e) {} if (mOffline.pause(cityid)) { Log.d("OfflineDemo", String.format("stop cityid:%d", cityid)); } else { Log.d("OfflineDemo", String.format("not pause cityid:%d", cityid)); }}}); btn = (Button)findViewById(R.id.search); btn.setOnClickListener( new OnClickListener() {public void onClick(View v) {ArrayList<MKOLSearchRecord> records = mOffline.searchCity(mEditCityName.getText().toString());if (records == null || records.size() != 1)return;mEditCityId.setText(String.valueOf(records.get(0).cityID));}}); btn = (Button)findViewById(R.id.del); btn.setOnClickListener( new OnClickListener() {public void onClick(View v) {int cityid = -1;try {cityid = Integer.parseInt(mEditCityId.getText().toString());} catch (Exception e) {} if (mOffline.remove(cityid)) { Log.d("OfflineDemo", String.format("del cityid:%d", cityid)); } else { Log.d("OfflineDemo", String.format("not del cityid:%d", cityid)); }}}); btn = (Button)findViewById(R.id.scan); btn.setOnClickListener( new OnClickListener() {public void onClick(View v) {int num = mOffline.scan();if (num != 0)mText.setText(String.format("已安装%d个离线包", num));Log.d("OfflineDemo", String.format("scan offlinemap num:%d", num));}}); btn = (Button)findViewById(R.id.get); btn.setOnClickListener( new OnClickListener() {public void onClick(View v) {int cityid = -1;try {cityid = Integer.parseInt(mEditCityId.getText().toString());} catch (Exception e) {}MKOLUpdateElement element = mOffline.getUpdateInfo(cityid);if (element != null) {new AlertDialog.Builder(OfflineDemo.this).setTitle(element.cityName).setMessage(String.format("大小:%.2fMB 已下载%d%%", ((double)element.size)/1000000, element.ratio)).setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int whichButton) {}}).show();}}}); }@Overrideprotected void onPause() {BMapApiDemoApp app = (BMapApiDemoApp)this.getApplication();app.mBMapMan.stop();super.onPause();}@Overrideprotected void onResume() {BMapApiDemoApp app = (BMapApiDemoApp)this.getApplication();app.mBMapMan.start();super.onResume();}@Overrideprotected boolean isRouteDisplayed() {// TODO Auto-generated method stubreturn false;}@Overridepublic void onGetOfflineMapState(int type, int state) {switch (type) {case MKOfflineMap.TYPE_DOWNLOAD_UPDATE:{Log.d("OfflineDemo", String.format("cityid:%d update", state));MKOLUpdateElement update = mOffline.getUpdateInfo(state);mText.setText(String.format("%s : %d%%", update.cityName, update.ratio));}break;case MKOfflineMap.TYPE_NEW_OFFLINE:Log.d("OfflineDemo", String.format("add offlinemap num:%d", state));break;case MKOfflineMap.TYPE_VER_UPDATE:Log.d("OfflineDemo", String.format("new offlinemap ver"));break;} }}

用户评论 (0)

发表评论

captcha