我将通过下面的讲解,教大家一步一步构建最基本的百度地图应用——基础地图展示:
第一步:创建Android工程、导入百度地图开发包;
配置好的工程如下图所示:
第二步:在AndroidManifest.xml中添加各种权限;
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.baidumap.basemap"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="8" />
<supports-screens android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:resizeable="true"
android:anyDensity="true"/>
<!-- 添加屏幕支持 -->
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.baidumap.basemap.MainActivity"
android:label="@string/app_name"
android:screenOrientation="sensor"
android:configChanges="orientation|keyboardHidden">
<!-- 注意添加转屏的相关设置 -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<!--使用网络功能所需权限 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<!-- SDK离线地图和cache功能需要读写外部存储器 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<!-- 获取设置信息和详情页直接拨打电话需要以下权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
</manifest>
第三步:在布局文件中添加百度地图控件(mapview);
代码如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<!-- 放入百度地图的mapview -->
<com.baidu.mapapi.map.MapView android:id="@+id/bmapsView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"/>
</RelativeLayout>
第四步:在主类中定义mapview对象和地图管理对象,在oncreate方法里需要首先初始化地图管理对象,然后初始化mapview对象,并且设置mapview的相应状态;
代码如下:
import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.map.MapController;
import com.baidu.mapapi.map.MapView;
import com.baidu.platform.comapi.basestruct.GeoPoint;
import android.os.Bundle;
import android.app.Activity;
public class MainActivity extends Activity {
BMapManager bMapManager = null; // 定义管理sdk的对象
MapView mapView = null; // 定义mapview对象
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 初始化管理对象,注意要在setContentView(R.layout.activity_main)之前初始化,否则会报错
bMapManager = new BMapManager(getApplication());
bMapManager.init("输入您申请的key", null);
setContentView(R.layout.activity_main);
// 初始化mapview对象,并且设置显示缩放控件
mapView = (MapView) findViewById(R.id.bmapsView);
mapView.setBuiltInZoomControls(true);
// 定义地图控件,获取mapview的控制,并把地图范围定位北京市
MapController mapController = mapView.getController();
GeoPoint point =new GeoPoint((int)(39.915* 1E6),(int)(116.404* 1E6));
mapController.setCenter(point);
mapController.setZoom(12);
}
//注意在onResume、onDestroy和onPause中控制mapview和地图管理对象的状态
@Override
protected void onResume() {
// TODO Auto-generated method stub
mapView.onResume();
if(bMapManager!=null){
bMapManager.start();
}
super.onResume();
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
mapView.destroy();
if(bMapManager!=null){
bMapManager.destroy();
bMapManager=null;
}
super.onDestroy();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
mapView.onPause();
if(bMapManager!=null){
bMapManager.stop();
}
super.onPause();
}
}
运行程序即可调启百度地图服务,展示您所需的地图,结果如下所示:
点击下载工程文件!
更多详细信息请登录百度地图API官方网站:http://developer.baidu.com/map/
百度地图API论坛:http://bbs.lbsyun.baidu.com/
分享到:
相关推荐
android studio集成百度地图SDK显示地图
基于最新百度地图SDK开发的Demo, 其中包括: 1、基本地图 2、定位 3、测量两点间的距离 4、公交查询
该资源是导入了百度地图SDK的Android项目,可正常的使用,作后续的开发
可以直接运行在真机中测试可运行百度地图SDK DEMO. 附带相关的ak key。
最新版百度地图sdkdemo,需要重新申请ak。
这里接入了百度地图2019最新SDK,里面的功能包含了地图的显示,个人GPS定位,还有地图的标记。可以在这个demo上继续添加新的功能。比如,POI检索等等。
百度地图sdk的集成demo
根据百度官方文档:http://lbsyun.baidu.com/index.php?title=首页学习所写的百度地图SDK Demo
android百度地图sdk的api使用官方demo代码,包含eclipse的demo和android studio的demo和骑行地图的studio代码共三份,里面的东西都很细,每个类型的api,demo里面都分门别类的列了出来。...
百度地图 iOS SDK是一套基于iOS4.3及以上版本设备的应用程序接口,不仅提供展示地图的基本接口,还提供POI检索、路径规划、地图标注、离线地图、定位等丰富的LBS能力。
百度地图sdk包,版本5.2.1 5_2_1
Android 百度地图最新SDK v3.2.0和Android定位SDK:v5.0应用,博客中有详细介绍
Android 百度地图 baidumap 5.0SDK 本地定位demo 简单的一个实现,给还纠结于此的同学做一个参考
ArcGIS 开发 SDK for Android
百度官方地图sdk开发demo,里面有详细代码,以及实现的功能点
ArcGIS Runtime SDK for Android开发介绍,来自Esri 中国技术人员的培训材料。
百度地图sdk的包,可以直接引入使用,应用于安卓手机软件开发
基于百度地图SDK实现定位和查找附近车位的android demo
百度地图demo demo里面使用了 百度官方sdk 分享学习百度api
百度地图SDK5.0源码,官网下载,需要的直接下载后按自己的需求添加到自己的项目,直接上源码。