Android中百度地图的植入(教程一)------ 简单地图的显示

  百度地图 Android SDK是一套基于Android 2.1及以上版本设备的应用程序接口。我们可以使用SDK开发适用于Android系统移动设备的地图应用,通过调用地图SDK接口,可以轻松访问百度地图服务和数据,构建功能丰富、交互性强的地图类应用程序。

  • 本博客主要展示内容如下:
  • 普通地图(2D,3D),卫星地图和实时交通图;

  1. 可通过接口或手势控制来实现地图的点击、双击、长按、缩放、旋转、改变视角等操作。
  2. 本套开发指南主要是针对Eclipse开发环境进行编写的。
  首先,在百度地图Android SDK的下载页面下载最新版SDK,下载地址为: http://developer.baidu.com/map/index.php?title=androidsdk/sdkandev-download。  下载完成之后要进行创建应用,创建应用时应注意:

  • 应用名称:可以用汉字、英文,但是不能涉及敏感词,比如百度、地图。
  • 应用类型:Android SDK
  • 启用服务:可以全选,也可以选择常用的,根据需要选择就行
  • 发布版SHA1和开发版SHA1:可以直接写一样的,只要不是为了发布应用。如何获取开发版SHA1(在Eclipse中选择window->preferences->Android->Build)
  • 包名:必须和自己创建项目的包名保持一致
  提交之后会有一个AppKey(AK),配置环境的时候会用到。

  接下来就是配置环境:

  1. 首先要把下载的SDK里面的libs下的文件拷到自己的libs目录下,然后BuildPath。
  2. 在Application中添加权限等一系列操作
  • 添加开发者密钥
    <application>  
        <meta-data  
            android:name="com.baidu.lbsapi.API_KEY"  
            android:value="开发者 key" />  
    </application>
  • 添加权限
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
  • 在activity_main.xml中添加地图控件
    <com.baidu.mapapi.map.MapView  
        android:id="@+id/bmapView"  
        android:layout_width="match_parent"  
        android:layout_height="match_parent"  
        android:clickable="true" />
  • 在Activity中初始化SDK
    public class MainActivity extends Activity {  
        @Override  
        protected void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);   
            //在使用SDK各组件之前初始化context信息,传入ApplicationContext  
            //注意该方法要再setContentView方法之前实现  
            SDKInitializer.initialize(getApplicationContext());  
            setContentView(R.layout.activity_main);  
        }  
    }
  • 由于地图很费电量,需要管理下地图的生命周期
        @Override  
        protected void onDestroy() {  
            super.onDestroy();  
            //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理  
            mMapView.onDestroy();  
        }  
        @Override  
        protected void onResume() {  
            super.onResume();  
            //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理  
            mMapView.onResume();  
            }  
        @Override  
        protected void onPause() {  
            super.onPause();  
            //在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理  
            mMapView.onPause();  
            }  
        }
  • 完成这些之后就可以显示基本地图了
  • 另外,百度地图SDK还为我们提供了一些其他模式的地图,实现这些功能非常简单,核心代码如下:
    mMapView = (MapView) findViewById(R.id.bmapView);  
    mBaiduMap = mMapView.getMap();  
     
    //普通地图  
    mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);  
     
    //卫星地图  
    mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);  
     
    //空白地图, 基础地图瓦片将不会被渲染。在地图类型中设置为NONE,将不会使用流量下载基础地图瓦片图层。使用场景:与瓦片图层一起使用,节省流量,提升自定义瓦片图下载速度。
    mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NONE);
    还可以实现实时交通图
    //开启交通图   
    mBaiduMap.setTrafficEnabled(true);
    以及城市热力图
    //开启城市热力图   
    mBaiduMap.setBaiduHeatMapEnabled(true);

  • 基本的简单地图这样就能实现了,有什么不足之处,望多多指正!

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值