首页下载资源移动开发基于百度地图demo修改了一下公交路线的显示

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

zgf19911.66MB需要积分:1

资源文件列表:

BaiduMapApiDemo.rar 大约有134个文件
  1. BaiduMapApiDemo\.classpath 194B
  2. BaiduMapApiDemo\.project 279B
  3. BaiduMapApiDemo\AndroidManifest.xml 730B
  4. BaiduMapApiDemo\bin\BaiduMapApiDemo.apk 737.92KB
  5. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\BMapApiDemoApp$MyGeneralListener.class 737B
  6. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\BMapApiDemoApp.class 689B
  7. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\BMapApiDemoMain$1.class 617B
  8. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\BMapApiDemoMain.class 1.82KB
  9. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\ces\RouteTransitResult.class 1.44KB
  10. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\ces\SearchRouteResult$1.class 813B
  11. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\ces\SearchRouteResult.class 944B
  12. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\ces\SearchRouthRusultDesc$1.class 714B
  13. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\ces\SearchRouthRusultDesc.class 917B
  14. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\GeoCoder$1.class 1.97KB
  15. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\GeoCoder$2.class 486B
  16. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\GeoCoder$OverItemT.class 983B
  17. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\GeoCoder.class 1.66KB
  18. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\ItemizedOverlayDemo.class 1.69KB
  19. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\LocationOverlay$1.class 701B
  20. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\LocationOverlay.class 1.38KB
  21. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\MapViewDemo.class 972B
  22. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\MyLocation$1.class 827B
  23. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\MyLocation.class 966B
  24. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\OfflineDemo$1.class 915B
  25. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\OfflineDemo$2.class 915B
  26. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\OfflineDemo$3.class 908B
  27. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\OfflineDemo$4.class 914B
  28. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\OfflineDemo$5.class 856B
  29. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\OfflineDemo$6$1.class 492B
  30. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\OfflineDemo$6.class 1.28KB
  31. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\OfflineDemo.class 2.3KB
  32. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\OverItemT.class 2.14KB
  33. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\PoiSearch$1.class 1.52KB
  34. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\PoiSearch$2.class 485B
  35. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\PoiSearch.class 1.54KB
  36. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\R$attr.class 266B
  37. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\R$drawable.class 334B
  38. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\R$id.class 621B
  39. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\R$layout.class 441B
  40. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\R$string.class 323B
  41. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\R.class 340B
  42. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\RoutePlan$1.class 1.45KB
  43. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\RoutePlan$2.class 490B
  44. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\RoutePlan.class 2.41KB
  45. BaiduMapApiDemo\bin\classes.dex 49.78KB
  46. BaiduMapApiDemo\bin\res\drawable\icon.png 2.15KB
  47. BaiduMapApiDemo\bin\res\drawable\iconmarka.png 1020B
  48. BaiduMapApiDemo\bin\res\drawable\pop.png 1.28KB
  49. BaiduMapApiDemo\bin\res\drawable-hdpi\icon.png 3.87KB
  50. BaiduMapApiDemo\bin\res\drawable-hdpi\iconmarka.png 1020B
  51. BaiduMapApiDemo\bin\res\drawable-hdpi\pop.png 1.28KB
  52. BaiduMapApiDemo\bin\res\drawable-ldpi\icon.png 1.5KB
  53. BaiduMapApiDemo\bin\res\drawable-ldpi\iconmarka.png 1020B
  54. BaiduMapApiDemo\bin\res\drawable-ldpi\pop.png 1.28KB
  55. BaiduMapApiDemo\bin\res\drawable-mdpi\icon.png 2.15KB
  56. BaiduMapApiDemo\bin\res\drawable-mdpi\iconmarka.png 1020B
  57. BaiduMapApiDemo\bin\res\drawable-mdpi\pop.png 1.28KB
  58. BaiduMapApiDemo\bin\resources.ap_ 17.4KB
  59. BaiduMapApiDemo\gen\com\baidu\mapapi\demo\R.java 618B
  60. BaiduMapApiDemo\libs\armeabi\libBMapApiEngine.so 430KB
  61. BaiduMapApiDemo\libs\baidumapapi.jar 199.24KB
  62. BaiduMapApiDemo\libs\gson-2.1.jar 155.88KB
  63. BaiduMapApiDemo\proguard.cfg 451B
  64. BaiduMapApiDemo\project.properties 272B
  65. BaiduMapApiDemo\res\drawable\icon.png 2.51KB
  66. BaiduMapApiDemo\res\drawable\iconmarka.png 867B
  67. BaiduMapApiDemo\res\drawable\pop.png 1.28KB
  68. BaiduMapApiDemo\res\drawable-hdpi\icon.png 4.05KB
  69. BaiduMapApiDemo\res\drawable-hdpi\iconmarka.png 867B
  70. BaiduMapApiDemo\res\drawable-hdpi\pop.png 1.28KB
  71. BaiduMapApiDemo\res\drawable-ldpi\icon.png 1.68KB
  72. BaiduMapApiDemo\res\drawable-ldpi\iconmarka.png 867B
  73. BaiduMapApiDemo\res\drawable-ldpi\pop.png 1.28KB
  74. BaiduMapApiDemo\res\drawable-mdpi\icon.png 2.51KB
  75. BaiduMapApiDemo\res\drawable-mdpi\iconmarka.png 867B
  76. BaiduMapApiDemo\res\drawable-mdpi\pop.png 1.28KB
  77. BaiduMapApiDemo\res\layout\geocoder.xml 448B
  78. BaiduMapApiDemo\res\layout\main.xml 293B
  79. BaiduMapApiDemo\res\layout\maproutesearchdesc.xml 367B
  80. BaiduMapApiDemo\res\layout\maproutesearchres.xml 355B
  81. BaiduMapApiDemo\res\layout\mapviewdemo.xml 229B
  82. BaiduMapApiDemo\res\layout\mylocation.xml 245B
  83. BaiduMapApiDemo\res\layout\offline.xml 532B
  84. BaiduMapApiDemo\res\layout\poisearch.xml 416B
  85. BaiduMapApiDemo\res\layout\popview.xml 251B
  86. BaiduMapApiDemo\res\layout\routeplan.xml 422B
  87. BaiduMapApiDemo\res\values\strings.xml 139B
  88. BaiduMapApiDemo\src\com\baidu\mapapi\demo\BMapApiDemoApp.java 897B
  89. BaiduMapApiDemo\src\com\baidu\mapapi\demo\BMapApiDemoMain.java 1.18KB
  90. BaiduMapApiDemo\src\com\baidu\mapapi\demo\ces\RouteTransitResult.java 795B
  91. BaiduMapApiDemo\src\com\baidu\mapapi\demo\ces\SearchRouteResult.java 632B
  92. BaiduMapApiDemo\src\com\baidu\mapapi\demo\ces\SearchRouthRusultDesc.java 569B
  93. BaiduMapApiDemo\src\com\baidu\mapapi\demo\GeoCoder.java 1.94KB
  94. BaiduMapApiDemo\src\com\baidu\mapapi\demo\ItemizedOverlayDemo.java 2.19KB
  95. BaiduMapApiDemo\src\com\baidu\mapapi\demo\LocationOverlay.java 1.02KB
  96. BaiduMapApiDemo\src\com\baidu\mapapi\demo\MapViewDemo.java 580B
  97. BaiduMapApiDemo\src\com\baidu\mapapi\demo\MyLocation.java 737B
  98. BaiduMapApiDemo\src\com\baidu\mapapi\demo\OfflineDemo.java 1.58KB
  99. BaiduMapApiDemo\src\com\baidu\mapapi\demo\PoiSearch.java 1.47KB
  100. BaiduMapApiDemo\src\com\baidu\mapapi\demo\RoutePlan.java 1.79KB
  101. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo\ces
  102. BaiduMapApiDemo\bin\classes\com\baidu\mapapi\demo
  103. BaiduMapApiDemo\src\com\baidu\mapapi\demo\ces
  104. BaiduMapApiDemo\bin\classes\com\baidu\mapapi
  105. BaiduMapApiDemo\gen\com\baidu\mapapi\demo
  106. BaiduMapApiDemo\src\com\baidu\mapapi\demo
  107. BaiduMapApiDemo\bin\classes\com\baidu
  108. BaiduMapApiDemo\gen\com\baidu\mapapi
  109. BaiduMapApiDemo\src\com\baidu\mapapi
  110. BaiduMapApiDemo\bin\classes\com
  111. BaiduMapApiDemo\bin\res\drawable
  112. BaiduMapApiDemo\bin\res\drawable-hdpi
  113. BaiduMapApiDemo\bin\res\drawable-ldpi
  114. BaiduMapApiDemo\bin\res\drawable-mdpi
  115. BaiduMapApiDemo\gen\com\baidu
  116. BaiduMapApiDemo\src\com\baidu
  117. BaiduMapApiDemo\bin\classes
  118. BaiduMapApiDemo\bin\res
  119. BaiduMapApiDemo\gen\com
  120. BaiduMapApiDemo\libs\armeabi
  121. BaiduMapApiDemo\res\drawable
  122. BaiduMapApiDemo\res\drawable-hdpi
  123. BaiduMapApiDemo\res\drawable-ldpi
  124. BaiduMapApiDemo\res\drawable-mdpi
  125. BaiduMapApiDemo\res\layout
  126. BaiduMapApiDemo\res\values
  127. BaiduMapApiDemo\src\com
  128. BaiduMapApiDemo\assets
  129. BaiduMapApiDemo\bin
  130. BaiduMapApiDemo\gen
  131. BaiduMapApiDemo\libs
  132. BaiduMapApiDemo\res
  133. BaiduMapApiDemo\src
  134. 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 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 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 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() { @Override public void onClick(DialogInterface dialog, int whichButton) { } }).show(); } } }); } @Override protected void onPause() { BMapApiDemoApp app = (BMapApiDemoApp)this.getApplication(); app.mBMapMan.stop(); super.onPause(); } @Override protected void onResume() { BMapApiDemoApp app = (BMapApiDemoApp)this.getApplication(); app.mBMapMan.start(); super.onResume(); } @Override protected boolean isRouteDisplayed() { // TODO Auto-generated method stub return false; } @Override public 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; } } }
100+评论
captcha