初学android,初看百度地图,感到迷茫,不知我的地图在何方啊。
不过经过两三天的学习,我觉得吧,我已经了解的百度地图的大概。从界面显示到位置的定位,从无知到豁然开朗。
首先先来看一下我的错误
因为有示例所以代码错误还比较少,我最有印象的错误是因为环境配置的错误
。(注:有其他的错误,不过在此错误的影响下都是不突出的-_-!,-_-#)
一般错误就是没有引入baidumapapi.jar文件,还有就是libs文件夹中缺少内容
baidumapapi.jar文件,引入的步骤:
右键项目名,找到Properties,在目录下找到->java Build Path-接着在>Libraries中选择"Add Exteral JARs",找到并选定baidumapapi.jar确定后返回,
libs文件中的内容要有baidumapapi.jar和remeabi文件夹(文件夹中含libBMapApiEngine_v1_3_3.so)。(注:缺一不可)
注:由于版本问题,其他内容的部分也可能不一样
代码分享:
使用百度地图是要增加权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
android平台的支持:
<supports-screens android:largeScreens="true"
android:normalScreens="true" android:smallScreens="true"
android:resizeable="true" android:anyDensity="true"/>
<uses-sdk android:minSdkVersion="3"></uses-sdk>
注:<uses-sdk android:minSdkVersion="3"></uses-sdk>在某些版本上可能会报错,到时删掉即可
显示百度地图的代码:
public class MainActivity extends MapActivity {
// 声明地图管理器对象
private BMapManager mapManager;
// 声明地图控件对象
//一个显示地图(数据源自lingtu地图服务)的视图,当被焦点选中时,它能捕获按键事件和触摸手势去平移和缩放地图
private MapView mapView;
// 声明控件管理器对象
private MapController mapController;
// 定位图层
MyLocationOverlay mLocationOverlay = null;
// onResume时注册此listener,onPause时需要Remove,用于接收BMapManager的位置变化
LocationListener mLocationListener = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 实例化一个地图管理器对象
mapManager = new BMapManager(getApplication());
// init方法的第一个参数需填入申请的API Key
mapManager.init("22FCFCD052AAAE640F34D608D98CDED68B0744A5", null);
// //启动
mapManager.start();
// 继承
super.initMapActivity(mapManager);
// //通过id值找到对应的控件
mapView = (MapView) findViewById(R.id.bmapView);
mapView.setBuiltInZoomControls(true);
// // //用给定的经纬度构造一个GeoPoint(纬度,经度)对象
GeoPoint point = new GeoPoint((int) (44 * 1E6), (int) (116 * 1E6));
// //取得地图控制器对象,用于控制MapView
mapController = mapView.getController();
// //设置地图的中心
mapController.setCenter(point);
// //设置地图默认的缩放级别
mapController.setZoom(12);
}
protected void onDestroy() {
if (mapManager != null) {
mapManager.destroy();
mapManager = null;
}
super.onDestroy();
}
/**
* 暂停
*/
protected void onPause() {
if (mapManager != null) {
mapManager.stop();
}
super.onPause();
}
protected void onResume() {
if (mapManager != null) {
mapManager.start();
}
super.onResume();
}
protected boolean isRouteDisplayed() {
return false;
}
位置的定位:
// 添加定位图层
mLocationOverlay = new MyLocationOverlay(this, mapView);
mapView.getOverlays().add(mLocationOverlay);
// 注册定位事件
mLocationListener = new LocationListener() {
/**
* 位置变化
*/
@Override
public void onLocationChanged(Location location) {
if (location != null) {
GeoPoint pt = new GeoPoint(
(int) (location.getLatitude() * 1e6),
(int) (location.getLongitude() * 1e6));
mapView.getController().animateTo(pt);
}
}
};
protected void onResume() {
if (mapManager != null) {
mapManager.getLocationManager().requestLocationUpdates(
mLocationListener);
mLocationOverlay.enableMyLocation();
mLocationOverlay.enableCompass(); // 打开指南针
mapManager.start();
}
super.onResume();
}
分享到:
相关推荐
初识C++ 初识C++ 初识C++初识C++初识C++初识C++初识C++
初识云计算初识云计算初识云计算初识云计算初识云计算初识云计算初识云计算初识云计算
初识计算机初识计算机初识计算机
python 列表初识,通过此代码,你能够了解到python的列表操作
初识计算机PPT课件.pptx
初识C语言.pdf
jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识...
三年级信息技术课程《初识画图》课件内容 因为要参加比赛,所属机房 装不上
初识Scratch.ppt
本课是初中信息技术初识excel的教学设计
初识电脑朋友课件
初识计算机 幼儿园计算机课程《初识计算机》全文共15页,当前为第1页。 1. 计算机发展过程 结绳记事 算筹 幼儿园计算机课程《初识计算机》全文共15页,当前为第2页。 1. 计算机发展过程 珠算 幼儿园计算机课程《初识...
初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识...
初识ERP初识ERP
包括一个MyBatis的小例子,和简介
6.4 激活LBS营销传播——百度地图推广 192 6.4.1 百度地图推广介绍 192 6.4.2 为什么使用百度地图推广 192 6.5 更精准的SNS营销——贴吧推广 194 6.5.1 什么是贴吧推广 194 6.5.2 产品资源与特性 195 6.5.3 经典案例...
初识FLASH动画.ppt
初识计算机教案全文共6页,当前为第1页。 初识计算机教案全文共6页,当前为第1页。 课程名称 计算机应用基础 授课时数 2课时 周 次 第 2周 班 级 18级护理1 、2 、3班 时 间 2018年8月8日 节 次 第2次 教学内容 第一...
初识专家系统初识专家系统初识专家系统初识专家系统初识专家系统初识专家系统
初识jQuery,12课时的第一课,帮助你了解jQuery