当前位置: 首页 > news >正文

Android使用百度地图的注意点

为什么80%的码农都做不了架构师?>>>   hot3.png

/*

 http://my.oschina.net/lifj/blog/283063
 
*/

0.不要参考官方的网页示例

很奇怪,他的官网的使用示例更新不及时。

下载api的时候,里面有一个demo。最好参看这个。


1.需要申请key。并且在Manifest中申明这个key:

在application标签中声明meta-data。

<application>
        <meta-data
            android:name="com.baidu.lbsapi.API_KEY"
            android:value="das213jkad98321oklasme2i13oja" >
        </meta-data>
。。。。。
</application>


2. 在代码中使用了百度地图,同时也使用了混淆代码。

工程目录下的:proguard-project.txt 中的末尾添加如下文字:

-keep class com.baidu.**{*;}
-keep class vi.com.gdi.bgl.**{*;}

如果不添加,会在安装了app后,使用百度地图的时候有错误,应该是baidu 之类的字被混淆了,然后找不到了:

java.lang.NoClassDefFoundError: com/baidu/platform/comjni/engine/AppEngine


3. PoiSearch 这个类,按照官方文档是有的,但是在2.4.2的api中,已经找不到了。改用MKSearch类。

使用方法如下:

private BMapManager mapManager = null;
	private MKSearch mkSearch = null;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		mapManager = new BMapManager(getApplication());
		mkSearch = new MKSearch();
		mkSearch.init(mapManager, new MySearchListener());
		mkSearch.poiSearchNearBy("美食", new GeoPoint((int)(39.99537*1E6), (int)(116.311878*1E6)), 2000);
		
	}

	public class MySearchListener implements MKSearchListener {

		@Override
		public void onGetAddrResult(MKAddrInfo arg0, int arg1) {
			// TODO Auto-generated method stub
			
		}

		@Override
		public void onGetBusDetailResult(MKBusLineResult arg0, int arg1) {
			// TODO Auto-generated method stub
			
		}

		@Override
		public void onGetDrivingRouteResult(MKDrivingRouteResult arg0, int arg1) {
			// TODO Auto-generated method stub
			
		}

		@Override
		public void onGetPoiDetailSearchResult(int arg0, int arg1) {
			// TODO Auto-generated method stub
			
		}

		@Override
		public void onGetPoiResult(MKPoiResult mkPoiResult, int type, int error) {
			// TODO Auto-generated method stub
			if(error !=0 || mkPoiResult == null) {
				Toast.makeText(MainActivity.this, "抱歉,未找到结果", Toast.LENGTH_LONG).show();
				return;
			}
//			将Poi结果显示到地图上
			PoiOverlay poiOverlay = new PoiOverlay(MainActivity.this,mapView );
			poiOverlay.setData(mkPoiResult.getAllPoi());
			mapView.getOverlays().clear();
			mapView.getOverlays().add(poiOverlay);
			mapView.refresh();
			
			for(MKPoiInfo mkPoiInfo : mkPoiResult.getAllPoi()) {
				if(mkPoiInfo.pt != null) {
					mapView.getController().animateTo(mkPoiInfo.pt);
					break;
				}
			}
		}

		@Override
		public void onGetShareUrlResult(MKShareUrlResult arg0, int arg1,
				int arg2) {
			// TODO Auto-generated method stub
			
		}

		@Override
		public void onGetSuggestionResult(MKSuggestionResult arg0, int arg1) {
			// TODO Auto-generated method stub
			
		}

		@Override
		public void onGetTransitRouteResult(MKTransitRouteResult arg0, int arg1) {
			// TODO Auto-generated method stub
			
		}

		@Override
		public void onGetWalkingRouteResult(MKWalkingRouteResult arg0, int arg1) {
			// TODO Auto-generated method stub
			
		}
		
	}


转载于:https://my.oschina.net/lifj/blog/283063

相关文章:

  • 移动互联网金融的全方位服务时代已经到来
  • 再读《精通css》03:引入和注释
  • 长假结束了
  • saltstack(九)returner
  • jdbc ResultSet 处理工具类DbUtil
  • 结构之美——优先队列基本结构(四)——二叉堆、d堆、左式堆、斜堆
  • web app开发——使用jQuery Mobile创建餐厅订餐应用
  • Python 格式符大聚会之​%r
  • 电压放大和电流放大区分
  • 未来地图,开启万物互联-华中雄
  • 搭建Struts框架
  • Windows下Lisp环境配置
  • 定时休息护眼神器(EyeDefender)护眼大法
  • android 屏幕适配问题
  • .Net程序帮助文档制作
  • @angular/forms 源码解析之双向绑定
  • 【347天】每日项目总结系列085(2018.01.18)
  • const let
  • ES6系列(二)变量的解构赋值
  • Fundebug计费标准解释:事件数是如何定义的?
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • javascript 哈希表
  • Java多线程(4):使用线程池执行定时任务
  • Linux后台研发超实用命令总结
  • Material Design
  • mysql 数据库四种事务隔离级别
  • ng6--错误信息小结(持续更新)
  • nginx 负载服务器优化
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • ReactNativeweexDeviceOne对比
  • uva 10370 Above Average
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • windows-nginx-https-本地配置
  • 分布式任务队列Celery
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 前端技术周刊 2019-01-14:客户端存储
  • 前端面试之闭包
  • 容器服务kubernetes弹性伸缩高级用法
  • 算法之不定期更新(一)(2018-04-12)
  • 在Docker Swarm上部署Apache Storm:第1部分
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • #单片机(TB6600驱动42步进电机)
  • (0)Nginx 功能特性
  • (1)(1.13) SiK无线电高级配置(六)
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (搬运以学习)flask 上下文的实现
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (学习日记)2024.01.19
  • (学习日记)2024.02.29:UCOSIII第二节
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)