百度地图应用开发(一)

http://www.cnblogs.com/hxxy2003/archive/2011/08/09/2131951.html

最近对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-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>

    具体权限是什么大家可以查下文档,在这里就不多说了。另外还要加上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>

      当然还要导入支持百度地图开发的相关的包(指南上面有下载),以下是我的项目文件:

      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 public class MainActivity extends MapActivity {
      13     private BMapManager mBMapMan;
      14     @Override
      15     public void 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     protected void onDestroy() {
      36         if (mBMapMan != null) {
      37             mBMapMan.destroy();
      38             mBMapMan = null;
      39         }
      40         super.onDestroy();
      41     }
      42     @Override
      43     protected void onPause() {
      44         if (mBMapMan != null) {
      45             mBMapMan.stop();
      46         }
      47         super.onPause();
      48     }
      49     @Override
      50     protected void onResume() {
      51         if (mBMapMan != null) {
      52             mBMapMan.start();
      53         }
      54         super.onResume();
      55     }
      56     @Override
      57     protected boolean isRouteDisplayed() {
      58         // TODO Auto-generated method stub
      59         return false;
      60     }
      61 }
      复制代码

        

      运行结果如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值