首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

百度舆图的手动定位和自动定位

2012-06-29 
百度地图的手动定位和自动定位?? ? ? 最近由于项目需要,研究了下百度地图定位,他们提供的实例基本都是用监

百度地图的手动定位和自动定位

?? ? ? 最近由于项目需要,研究了下百度地图定位,他们提供的实例基本都是用监听器实现自动定位的。我想实现一种效果:当用户进入UI时,不定位,用户需要定位的时候,自己手动点击按钮,再去定位当前位置。 ?经过2天研究和咨询,找到了解决方案,在此备忘一下。

?

?? 注意:定位使用真机才能够真正定位;模拟器的话,在DDMS中的Emulator Control中,选择Manual,下面单选按钮选择Decimal,然后填写经纬度,send后,再点击定位我的位置按钮,就能定位了(这应该算是固定定位,哈哈。。。)、

?

?? ? ? ? 1、第一步当然是获取一个针对自己项目的key值。http://dev.baidu.com/wiki/static/imap/key/

2、使用百度API是有前提的,摘自百度:首先将API包括的两个文件baidumapapi.jar和libBMapApiEngine.so拷贝到工程根目录及libs\armeabi目录下,并在工程属性->Java Build Path->Libraries中选择“Add JARs”,选定baidumapapi.jar,确定后返回,这样您就可以在您的程序中使用API了。(这两个文件见附件)。

3、按照自己的需求写一个layout,我的如下:

?? ?? <?xml version="1.0" encoding="utf-8"?>

?

?需要特别注意的是:<com.baidu.mapapi.MapView ?/> 这玩意。

?

?4、写一个MapApplication实现application,提供全局的BMapManager,以及其初始化。

LocationListener listener = new LocationListener() {    @Override/** 位置变化,百度地图即会调用该方法去获取位置信息。  * (我测试发现就算手机不动,它也会偶尔重新去加载位置;只要你通过重力感应,他就一定会重新加载)  */    public void onLocationChanged(Location location) {      GeoPoint gp =  new GeoPoint((int) (location.getLatitude() * 1E6), (int) (location.getLongitude() * 1E6));   //通过地图上的经纬度转换为地图上的坐标点  bMapController.animateTo(gp);  //动画般的移动到定位的位置}};

?

?

?

热点排行