当前位置: 代码迷 >> Android >> Android百度map使用
  详细解决方案

Android百度map使用

热度:63   发布时间:2016-05-01 12:24:12.0
Android百度地图使用

今天测了下百度地图,发现网上都给出了比较清晰的答案,但对于百度jar包调用这块还是容易犯错误

一旦出错,运行调试困难,报的错误仅仅是无法启动activity,这种情况一定要查看jar包是否正确引用

特此将开发步骤与jar的引用说明一下

1步:下载jar包,两个文件一个jar一个so文件

http://developer.baidu.com/map/sdkandev-download.htm

//右下角有个"lib库"

2步:工程内引入库,将so文件放在工程的libs/armeabi 下面 //没有请新建文件夹

将jar文件放入libs下面

3步:选择工程右键属性->java bulid path->libraries->add jars选择你的工程内libs下的jar(上步放入的) OK就完成了包的引用

4步:给manifest添加权限(很重要)

       <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />      <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />      <uses-permission android:name="android.permission.INTERNET" />      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />      <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />      <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />      <uses-permission android:name="android.permission.READ_PHONE_STATE" />  
5步:布局layout 之 main.xml

    <?xml version="1.0" encoding="utf-8"?>      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"          android:orientation="vertical"          android:layout_width="fill_parent"          android:layout_height="fill_parent"          >          <com.baidu.mapapi.MapView android:id="@+id/map_View"              android:layout_width="fill_parent"              android:layout_height="fill_parent"              android:clickable="true"          />      </LinearLayout>  

6步:开发百度地图,需要申请个Key,很简单,只需几秒钟时间即可完成。 http://developer.baidu.com/map/android-mobile-apply-key.htm

7步:示例mainActivity

public class MainActivity extends MapActivity {      private BMapManager mapManager;      private MapView mapView;      private MapController mapController;        @Override      public void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.main);            // init        mapManager = new BMapManager(getApplication());                mapManager.init("285B415EBAB2A92293E85502150ADA7F03C777C4", null); //your API key        super.initMapActivity(mapManager);            mapView = (MapView) findViewById(R.id.map_View);          // 设置地图模式为交通地图          mapView.setTraffic(true);          // 设置启用内置的缩放控件          mapView.setBuiltInZoomControls(true);            // 用经纬度初始化中心点        GeoPoint point = new GeoPoint((int) (47.118440 * 1E6), (int) (87.493147 * 1E6));            // 创建标记maker //有一个标注图片,没有上百度找一张,drawable里        Drawable marker = this.getResources().getDrawable(R.drawable.iconmarka);          // 为maker定义位置和边界          marker.setBounds(0, 0, marker.getIntrinsicWidth(), marker.getIntrinsicHeight());            // 取得地图控制器对象,用于控制MapView          mapController = mapView.getController();          // 设置地图的中心          mapController.setCenter(point);          // 设置地图默认的缩放级别          mapController.setZoom(12);      }        @Override      protected boolean isRouteDisplayed() {          return false;      }        @Override      protected void onDestroy() {          if (mapManager != null) {              mapManager.destroy();              mapManager = null;          }          super.onDestroy();      }        @Override      protected void onPause() {          if (mapManager != null) {              mapManager.stop();          }          super.onPause();      }        @Override      protected void onResume() {          if (mapManager != null) {              mapManager.start();          }          super.onResume();      }  }  

以上即可简单实现百度地图调用(已测试)






1楼suannai0314昨天 15:48
够清晰明了
  相关解决方案