首先在工程里新建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. import android.content.Context ;
    4. import android.graphics.Canvas ;
    5. import android.graphics.Paint ;
    6. import android.graphics.Point ;
    7. import android.graphics.drawable.Drawable ;
    8. import android.location.Location ;
    9. import android.os.Bundle ;
    10. import android.util.Log ;
    11. import android.view.View ;
    12. import android.widget.Toast ;
    13. import com.baidu.mapapi.BMapManager ;
    14. import com.baidu.mapapi.GeoPoint ;
    15. import com.baidu.mapapi.ItemizedOverlay ;
    16. import com.baidu.mapapi.LocationListener ;
    17. import com.baidu.mapapi.MKAddrInfo ;
    18. import com.baidu.mapapi.MKDrivingRouteResult ;
    19. import com.baidu.mapapi.MKGeneralListener ;
    20. import com.baidu.mapapi.MKLocationManager ;
    21. import com.baidu.mapapi.MKPlanNode ;
    22. import com.baidu.mapapi.MKPoiResult ;
    23. import com.baidu.mapapi.MKSearch ;
    24. import com.baidu.mapapi.MKSearchListener ;
    25. import com.baidu.mapapi.MKTransitRouteResult ;
    26. import com.baidu.mapapi.MKWalkingRouteResult ;
    27. import com.baidu.mapapi.MKSuggestionResult ;
    28. import com.baidu.mapapi.MapActivity ;
    29. import com.baidu.mapapi.MapController ;
    30. import com.baidu.mapapi.MapView ;
    31. import com.baidu.mapapi.MyLocationOverlay ;
    32. import com.baidu.mapapi.Overlay ;
    33. import com.baidu.mapapi.OverlayItem ;
    34. import com.baidu.mapapi.PoiOverlay ;
    35. import com.baidu.mapapi.RouteOverlay ;
    36. import com.baidu.mapapi.TransitOverlay ;
    37. public class MyMapActivity extends MapActivity {
    38. @Override
    39. public void onCreate ( Bundle savedInstanceState ) {
    40. super . onCreate ( savedInstanceState ) ;
    41. setContentView ( R. layout . main ) ;
    42. }
    43. @Override
    44. protected boolean isRouteDisplayed ( ) {
    45. return false ;
    46. }
    47. }
  • 在布局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. MapView mMapView = ( MapView ) findViewById ( R. id . bmapsView ) ;
    5. mMapView. setBuiltInZoomControls ( true ) ; //设置启用内置的缩放控件
    6. MapController mMapController = mMapView. getController ( ) ; // 得到mMapView的控制权,可以用它控制和驱动平移和缩放
    7. GeoPoint point = new GeoPoint ( ( int ) ( 39.915 * 1E6 ) ,
    8. ( int ) ( 116.404 * 1E6 ) ) ; //用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6)
    9. mMapController. setCenter ( point ) ; //设置地图中心点
    10. 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/

    更多相关文章

    1. [Android][Framework] 添加系统服务
    2. 站外地图--程序员
    3. cocos2d-x android 添加新场景报错: undefined reference to `vt
    4. Android(安卓)Studio配置百度地图开发环境
    5. 地图API使用文档-以腾讯地图为例
    6. Android(安卓)Phonebook编写联系人UI加载及联系人保存流程(四)
    7. android动态加入xml布局并设置id
    8. Android从相册中选择图片显示出来
    9. Android的ImageView如何maxHeight与maxWidth生效

    随机推荐

    1. 夜间模式 values-night
    2. Smali语法基础知识
    3. windows vista 下安装 Android(安卓)USB
    4. Android(安卓)shap Animation
    5. Android-Handler使用
    6. 安卓开源框架集合
    7. 安卓布局应用学习代码附带效果图
    8. WebRTC-M68-官方编译文档-Android'
    9. Understanding Android(安卓)Custom Attr
    10. 使用TypefaceSpan