一、显示地图
1、创建并配置工程
/index.php?title=androidsdk/guide/create-project/eclipse//eclipse配置/index.php?title=androidsdk/guide/create-project/androidstudio//Android Studio配置2、在AndroidManifest中添加开发密钥、所需权限等信息;(引自百度地图api官方文档)
在application中添加开发密钥添加所需权限(注意:权限应添加在 appliction 之外,如添加到appliction 内部,会导致无法访问网络,不显示地图。)<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="android.permission.READ_PHONE_STATE" /> //读取设备硬件信息,统计数据<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /> //读取系统信息,包含系统版本等信息,用作统计<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> //获取设备的网络状态,鉴权所需网络代理<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> //允许sd卡写权限,需写入地图数据,禁用后无法显示地图<uses-permission android:name="android.permission.WRITE_SETTINGS" /> //获取统计数据<uses-permission android:name="android.permission.GET_TASKS" /> //鉴权所需该权限获取进程列表<uses-permission android:name="android.permission.CAMERA" /> //使用步行AR导航,配置Camera权限
3、在布局xml文件中添加地图控件
<com.baidu.mapapi.map.MapView android:id="@+id/bmapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" />
4、核心代码
声明所需变量核心函数private MapView mMapView;private BaiduMap mBaiduMap;private Context context;
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);SDKInitializer.initialize(getApplicationContext());setContentView(R.layout.activity_map);this.context = this;mMapView = (MapView) findViewById(R.id.bmapView);mBaiduMap = mMapView.getMap();MapStatusUpdate msu = MapStatusUpdateFactory.zoomTo(21.0f); //设置地图显示层级mBaiduMap.setMapStatus(msu);mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL); //普通地图//mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE); //卫星地图//mBaiduMap.setTrafficEnabled(true); //开启交通图//mBaiduMap.setBaiduHeatMapEnabled(true); //开启热力图}