`
修博龙泉
  • 浏览: 317153 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Android的百度地图开发BaiduMapApiDemo

 
阅读更多

首先在工程里新建libs文件夹,并API开发包里的baidumapapi.jar拷贝到libs根目录下,将libBMapApiEngine.so 拷贝到libs\armeabi目录下。官网demo里已有这两个文件,如果要集成到自己的工程里,就需要自己添加。然后在工程属性->Java Build Path->Libraries中选择“Add External JARs”,选定baidumapapi.jar,确定后返回,这样您就可以在您的程序中使用API了。

百度地图的“Hello,World”

  • 在Manifest中添加使用权限
  1. <uses-permission android:name ="android.permission.ACCESS_NETWORK_STATE" > </uses-permission>
  2. <uses-permission android:name ="android.permission.ACCESS_FINE_LOCATION" > </uses-permission>
  3. <uses-permission android:name ="android.permission.INTERNET" > </uses-permission>
  4. <uses-permission android:name ="android.permission.WRITE_EXTERNAL_STORAGE" > </uses-permission>
  5. <uses-permission android:name ="android.permission.ACCESS_WIFI_STATE" > </uses-permission>
  6. <uses-permission android:name ="android.permission.CHANGE_WIFI_STATE" > </uses-permission>
  7. <uses-permission android:name ="android.permission.READ_PHONE_STATE" > </uses-permission>
  • 在Manifest中添加Android版本支持
    1. <supports-screens android:largeScreens ="true"
    2. android:normalScreens ="true" android:smallScreens ="true"
    3. android:resizeable ="true" android:anyDensity ="true" />
    4. <uses-sdk android:minSdkVersion ="3" > </uses-sdk>
  • 让创建的地图Activity继承com.baidu.mapapi.MapActivity, 并import相关类
    1. import java.util.ArrayList ;
    2. import java.util.List ;
    3.  
    4. import android.content.Context ;
    5. import android.graphics.Canvas ;
    6. import android.graphics.Paint ;
    7. import android.graphics.Point ;
    8. import android.graphics.drawable.Drawable ;
    9. import android.location.Location ;
    10. import android.os.Bundle ;
    11. import android.util.Log ;
    12. import android.view.View ;
    13. import android.widget.Toast ;
    14.  
    15. import com.baidu.mapapi.BMapManager ;
    16. import com.baidu.mapapi.GeoPoint ;
    17. import com.baidu.mapapi.ItemizedOverlay ;
    18. import com.baidu.mapapi.LocationListener ;
    19. import com.baidu.mapapi.MKAddrInfo ;
    20. import com.baidu.mapapi.MKDrivingRouteResult ;
    21. import com.baidu.mapapi.MKGeneralListener ;
    22. import com.baidu.mapapi.MKLocationManager ;
    23. import com.baidu.mapapi.MKPlanNode ;
    24. import com.baidu.mapapi.MKPoiResult ;
    25. import com.baidu.mapapi.MKSearch ;
    26. import com.baidu.mapapi.MKSearchListener ;
    27. import com.baidu.mapapi.MKTransitRouteResult ;
    28. import com.baidu.mapapi.MKWalkingRouteResult ;
    29. import com.baidu.mapapi.MKSuggestionResult ;
    30. import com.baidu.mapapi.MapActivity ;
    31. import com.baidu.mapapi.MapController ;
    32. import com.baidu.mapapi.MapView ;
    33. import com.baidu.mapapi.MyLocationOverlay ;
    34. import com.baidu.mapapi.Overlay ;
    35. import com.baidu.mapapi.OverlayItem ;
    36. import com.baidu.mapapi.PoiOverlay ;
    37. import com.baidu.mapapi.RouteOverlay ;
    38. import com.baidu.mapapi.TransitOverlay ;
    39.  
    40. public class MyMapActivity extends MapActivity {
    41. @Override
    42. public void onCreate( Bundle savedInstanceState) {
    43. super .onCreate ( savedInstanceState) ;
    44. setContentView( R.layout .main ) ;
    45. }
    46.  
    47. @Override
    48. protected boolean isRouteDisplayed( ) {
    49. return false ;
    50. }
    51. }
  • 在布局xml中添加地图控件
    1. <?xml version ="1.0" encoding ="utf-8" ?>
    2. <LinearLayout xmlns:android ="http://schemas.android.com/apk/res/android"
    3. android:orientation ="vertical" android:layout_width ="fill_parent"
    4. android:layout_height ="fill_parent" >
    5. <TextView android:layout_width ="fill_parent"
    6. android:layout_height ="wrap_content" android:text ="@string/hello" />
    7. <com.baidu.mapapi.MapView android:id ="@+id/bmapsView"
    8. android:layout_width ="fill_parent" android:layout_height ="fill_parent"
    9. android:clickable ="true" />
    10. </LinearLayout>
  • 初始化地图Activity/使用key
  • 在地图Activity中定义变量: BMapManager mBMapMan = null; 在onCreate方法中增加以下代码,并将您申请的Key替换“我的Key”:

    1. BMapManager mBMapMan = new BMapManager( getApplication( ) ) ;
    2. mBMapMan.init ( "我的Key" , null ) ;
    3. super .initMapActivity ( mBMapMan) ;
    4.  
    5. MapView mMapView = ( MapView) findViewById( R.id .bmapsView ) ;
    6. mMapView.setBuiltInZoomControls ( true ) ; //设置启用内置的缩放控件
    7.  
    8. MapController mMapController = mMapView.getController ( ) ; // 得到mMapView的控制权,可以用它控制和驱动平移和缩放
    9. GeoPoint point = new GeoPoint( ( int ) ( 39.915 * 1E6) ,
    10. ( int ) ( 116.404 * 1E6) ) ; //用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6)
    11. mMapController.setCenter ( point) ; //设置地图中心点
    12. mMapController.setZoom ( 12 ) ; //设置地图zoom级别

    Override以下方法,管理API:

    1. @Override
    2. protected void onDestroy( ) {
    3. if ( mBMapMan != null ) {
    4. mBMapMan.destroy ( ) ;
    5. mBMapMan = null ;
    6. }
    7. super .onDestroy ( ) ;
    8. }
    9. @Override
    10. protected void onPause( ) {
    11. if ( mBMapMan != null ) {
    12. mBMapMan.stop ( ) ;
    13. }
    14. super .onPause ( ) ;
    15. }
    16. @Override
    17. protected void onResume( ) {
    18. if ( mBMapMan != null ) {
    19. mBMapMan.start ( ) ;
    20. }
    21. super .onResume ( ) ;
    22. } 完成上述步骤后,运行程序,结果如下:  

    百度地图申请key地址:http://dev.baidu.com/wiki/static/imap/key/

    • 大小: 84.4 KB
    分享到:
    评论

    相关推荐

      LBS之百度地图实例

      在提供的`BaiduMapApiDemo`压缩包中,通常包含了百度地图SDK的示例代码,这些代码展示了如何在Android项目中集成和使用上述功能。开发者可以通过阅读和运行这些示例,快速理解和学习如何在自己的应用中实现LBS功能。...

      BaiduMapApiDemo

      《Android百度定位开发详解——基于BaiduMapApiDemo》 在移动应用开发中,地理位置服务是不可或缺的一部分,尤其是在导航、社交、生活服务类应用中。本文将深入探讨如何在Android平台上利用百度地图API...

      百度地图部分完整代码,真的不错!

      百度地图API是一套基于JavaScript和Android SDK的开发工具,允许开发者将百度地图的功能集成到自己的网站或应用程序中。在JavaScript API中,开发者可以利用JavaScript语言实现地图的动态加载、缩放、平移以及添加...

      百度地图Demo

      1. **环境准备**:确保你已经安装了对应的开发环境(如Android Studio或Xcode),并配置好百度地图SDK的开发密钥(AK)。 2. **代码阅读**:逐个查看各个功能的源代码,理解其工作原理和调用流程。例如,如何初始化...

      BaiduMapApiDemo.rar

      《百度地图API实战指南》 在当今信息化社会,地图服务已经深入到我们生活的各个角落,无论是...通过学习和研究,你不仅可以深入了解百度地图API,还能提高自己的开发技能,为创建高效、实用的地图应用打下坚实基础。

      百度地图demo

      百度地图API是一套面向开发者提供的地图服务,包括JavaScript API、Android SDK、iOS SDK等多种形式,覆盖Web端、移动端的开发需求。这些API允许开发者在自己的应用中嵌入地图,实现地图的显示、定位、标注、路线...

      百度mapDemo

      【百度MapDemo】是一款专为Android开发者设计的示例应用,它展示了如何使用百度地图API进行应用程序开发。这个DEMO提供了丰富的示例代码,帮助开发者理解并熟练掌握百度地图SDK的功能,包括定位、路线规划、地图操作...

      BaiduMapApiDemo.rar_android开发_Java_

      本文将基于"BaiduMapApiDemo"这个示例项目,探讨如何在Android开发中利用Java语言有效利用百度地图API。 首先,我们需要在项目中引入百度地图SDK。这通常通过在build.gradle文件中添加依赖库来完成,例如: ```...

      googlemap 不能用 用baidu map

      开发者需要注意遵循百度地图的开发指南,确保应用的合规性和用户体验。 7. **功能对比**: 虽然百度地图在功能上与Google Maps类似,但两者仍有差异,例如定位精度、路线规划算法、覆盖范围等。开发者在迁移过程中...

      BaiduMap Demo

      BaiduMap Demo是一个专门为开发者提供的示例项目,它涵盖了使用百度地图API在Android应用中实现各种功能的基本用法。通过深入理解和实践这个Demo,开发者可以快速掌握如何将百度地图集成到自己的应用程序中,为用户...

    Global site tag (gtag.js) - Google Analytics