百度地图应用开发(一)

最近对LBS比较感兴趣,在研究百度地图。先了解下百度地图的大概吧!

http://dev.baidu.com/wiki/imap/index.php?title=Android%E5%B9%B3%E5%8F%B0/%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97

以上是百度地图在android平台上的开发指南。

基于百度地图的应用开发和google地图一样,需要一个Key,所以我们要申请一下,相对于google地图的Key来说,百度地图的Key的申请是很简单的。

申请Key的网址:http://dev.baidu.com/wiki/static/imap/key/ 当然要求是你必须得注册百度。

在百度地图的应用开发中,在Manifest要添加如下权限:

  1. <uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
  2. <uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
  3. <uses-permissionandroid:name="android.permission.INTERNET"></uses-permission>
  4. <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
  5. <uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
  6. <uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
  7. <uses-permissionandroid:name="android.permission.READ_PHONE_STATE"></uses-permission>
    具体权限是什么大家可以查下文档,在这里就不多说了。另外还要加上android版本的支持,如下:
    1. <supports-screensandroid:largeScreens="true"
    2. android:normalScreens="true"android:smallScreens="true"
    3. android:resizeable="true"android:anyDensity="true"/>
    4. <uses-sdkandroid:minSdkVersion="3"></uses-sdk>
      当然还要导入支持百度地图开发的相关的包(指南上面有下载),以下是我的项目文件:

      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/bmapsView"
      android:layout_width
      ="fill_parent" android:layout_height="fill_parent"
      android:clickable
      ="true"/>
      </LinearLayout>

      MainActivity.java

       1 package com.baidumap;
      2
      3 import com.baidu.mapapi.BMapManager;
      4 import com.baidu.mapapi.GeoPoint;
      5 import com.baidu.mapapi.MapActivity;
      6 import com.baidu.mapapi.MapController;
      7 import com.baidu.mapapi.MapView;
      8
      9 import android.app.Activity;
      10 import android.os.Bundle;
      11
      12 publicclass MainActivity extends MapActivity {
      13 private BMapManager mBMapMan;
      14 @Override
      15 publicvoid onCreate(Bundle savedInstanceState) {
      16 super.onCreate(savedInstanceState);
      17 setContentView(R.layout.main);
      18 mBMapMan =new BMapManager(getApplication());
      19 mBMapMan.init("205114502786B06C4C95CEB0F55822F25E46AED2", null);
      20 super.initMapActivity(mBMapMan);
      21
      22 MapView mMapView = (MapView) findViewById(R.id.bmapsView);
      23 mMapView.setBuiltInZoomControls(true); //设置启用内置的缩放控件
      24
      25 mMapView.setTraffic(true);
      26
      27 MapController mMapController = mMapView.getController(); // 得到mMapView的控制权,可以用它控制和驱动平移和缩放
      28 GeoPoint point =new GeoPoint((int) (23.141238* 1E6),
      29 (int) (113.342331* 1E6)); //用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6)
      30 mMapController.setCenter(point); //设置地图中心点
      31 mMapController.setZoom(12); //设置地图zoom级别
      32 }
      33
      34 @Override
      35 protectedvoid onDestroy() {
      36 if (mBMapMan !=null) {
      37 mBMapMan.destroy();
      38 mBMapMan =null;
      39 }
      40 super.onDestroy();
      41 }
      42 @Override
      43 protectedvoid onPause() {
      44 if (mBMapMan !=null) {
      45 mBMapMan.stop();
      46 }
      47 super.onPause();
      48 }
      49 @Override
      50 protectedvoid onResume() {
      51 if (mBMapMan !=null) {
      52 mBMapMan.start();
      53 }
      54 super.onResume();
      55 }
      56 @Override
      57 protectedboolean isRouteDisplayed() {
      58 // TODO Auto-generated method stub
      59 returnfalse;
      60 }
      61 }

      运行结果如下:



更多相关文章

  1. 在程序开发中必须了解Activity的四种启动模式
  2. 【React Native开发】React Native For Android环境配置以及第一
  3. 2012年度最受欢迎中国开源软件评选
  4. Android(安卓)WebRTC 音视频开发总结(二)
  5. android adt与android sdk介绍
  6. 从J2EE转向Android的第十二天 -----继续学习ListView
  7. Android应用开发——Drawable
  8. android应用开发:android网络通信
  9. Android(安卓)Cordova 插件开发之创建项目

随机推荐

  1. SQLite Delete详解及实例代码
  2. SQL2008 详解直接将XML存入到SQL中
  3. SQL Server存储过程同时返回分页结果集和
  4. 系统隐形杀手——阻塞与等待(SQL)
  5. Sqlserver 高并发和大数据存储方案
  6. SQL JOIN 连接详细介绍及简单使用实例
  7. SQL Server常见问题及解决方法分享
  8. Mysql用户忘记密码及密码过期问题的处理
  9. SQL SERVER 分组求和sql语句
  10. sql 删除表中的重复记录