`
李媛媛liyuanyuan
  • 浏览: 15378 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

初识百度地图

阅读更多
初学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();
	}




分享到:
评论

相关推荐

    百度推广-搜索营销新视角

    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 经典案例...

    初识-网络时空大数据爬取与分析DAS系统.docx

    网络地图数据作为时空大数据的一个重要组成部分,主要来源于各大互联网公司的电子地图服务,如谷歌地图、百度地图、腾讯地图和高德地图等,它们提供了丰富的POI(兴趣点)、热力图、实时定位等信息。 时空大数据的...

    百度地图开发java源码-ndn-lite-ble:ndn-lite相关和ndn-lite与ble的使用

    百度地图开发java源码 NDN-Lite-BLE操作参考指南 1. 初识ndn-lite 库实现了命名数据网络(NDN)栈。该库是用标准C编写的,需要最低版本的C11(ISO/IEC 9899:2011)。ndn-lite仓库地址: 到目前为止,ndn-lite已经为...

    Power BI视频教程

    第1章:【Power BI 数据分析快速上手】Power BI概述、Power Map、Power Query初识 1. Power BI简介 2.Power BI组成部分 3.Power BI的DWT 4.Power BI的版权及费用 5.Power BI的安装及演示 6.Power BI四大护法 7....

    paiduiji-用于排队机的微信小程序.zip

    结合地图API,如高德或百度地图,小程序可以为用户提供从当前位置到银行网点的路线指引,包括步行、骑行和驾车等多种方式,确保用户能顺利到达目的地。对于不熟悉周边环境的用户来说,这一功能尤其实用。 开源项目...

    Axure-RP9培训教程PPT

    首先,初识Axure RP,我们了解到它是由Axure Software Solution公司开发的,其名称发音为“Ack-Sure”,“RP”代表“Rapid Prototyping”。Axure RP Pro的主要特点是能够帮助设计者快速制作出带有注释的页面示意图、...

    《视觉SLAM十四讲(高翔)》高清中文版PDF 1

    在“初识SLAM”一章中,作者通过“小萝卜”的例子生动地引入了SLAM的问题。SLAM的经典框架包括视觉里程计(Visual Odometry,VO)、后端优化、回环检测和建图四个主要部分。视觉里程计用于实时估计相机的运动,后端...

    从入门到精通HTML5——PDF——网盘链接

    第1篇 HTML基础  第1章 HTML基础 3  教学录像:22分钟  1.1 HTML的基本概念 4  1.2 HTML发展史 4  1.3 HTML的基本结构 5 ... 1.3.2 文件开始标签&lt;... 7  1.3.3 文件头部标签&lt;... 15.4.1 使用effectAllowed...

    基于JavaScript的echarts数据可视化大屏设计源码

    ECharts是由百度开发的开源项目,它提供了一系列丰富的图表类型,如柱状图、折线图、饼图、散点图等,并且支持地图、热力图等复杂图表。ECharts的特点在于其良好的性能、易用性和高度的可定制性,可以满足各种复杂的...

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    初识css 类选择器 id选择器 html选择器 8-13 3.通配符选择器 父子选择器 8-13 4.选择器使用细节 块元素?托心谠? 盒子模型 盒子模型经典应用① 8-13 5.盒子模型经典应用② 作业布置 8-15 1.div+css作业评讲① 8-15 ...

    (全)传智播客PHP就业班视频完整课程

    初识css 类选择器 id选择器 html选择器 8-13 3.通配符选择器 父子选择器 8-13 4.选择器使用细节 块元素?托心谠? 盒子模型 盒子模型经典应用① 8-13 5.盒子模型经典应用② 作业布置 8-15 1.div+css作业评讲① 8-15 ...

Global site tag (gtag.js) - Google Analytics