一个百度定位例子,把自己的经纬度转换为具体位置
2013-02-06 15:01
260 查看
喜欢的童鞋点击下载安装:http://www.apkbus.com/android-95644-1-1.html
程序:
BaiduMap主包:
BMapApiDemoApp包:
xml文件就只是一个TextView控件,清单注意加权限的哦
程序:
BaiduMap主包:
package com.xmb.BaiduMap; import com.baidu.mapapi.BMapManager; import com.baidu.mapapi.GeoPoint; import com.baidu.mapapi.LocationListener; import com.baidu.mapapi.MKAddrInfo; import com.baidu.mapapi.*; import com.baidu.mapapi.MKDrivingRouteResult; import com.baidu.mapapi.MKGeneralListener; import com.baidu.mapapi.MKPoiResult; import com.baidu.mapapi.MKSearch; import com.baidu.mapapi.MKSearchListener; import com.baidu.mapapi.MKTransitRouteResult; import com.baidu.mapapi.MKWalkingRouteResult; import com.baidu.mapapi.MapActivity; import com.baidu.mapapi.MapController; import com.baidu.mapapi.MapView; import android.app.Activity; import android.graphics.drawable.Drawable; import android.location.Location; import android.os.Bundle; import android.widget.TextView; import android.widget.Toast; public class BaiduMap extends Activity { public TextView tv1, tv2; public BMapManager mapManager; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mylocation); tv1=(TextView)findViewById(R.id.result1); tv2 = (TextView) this.findViewById(R.id.result2); mapManager=new BMapManager(this); mapManager.init("53351EE4BDE7BD870F41A0B4AF1480F1CA97DAF9", new MyMKGeneralListener()); mapManager.getLocationManager().setNoitifyInternal(20, 5); mapManager.getLocationManager().requestLocationUpdates(new MyLocationListener()); mapManager.start(); // mapManager = new BMapManager(this); // mapManager.init("EDB67AD764D300895C95ABA02A4DDC58D5485CCD", // new MyMKGeneralListener()); // // 设置通知间隔:iMaxSecond - 最大通知间隔,单位:秒;iMinSecond - 最小通知间隔,单位:秒 // mapManager.getLocationManager().setNotifyInternal(20, 5); // // mapManager.getLocationManager().requestLocationUpdates( // new MyLocationListener()); // mapManager.start(); } // 定位自己的位置,只定位一次 class MyLocationListener implements LocationListener { @Override public void onLocationChanged(Location arg0) { double jindu1 = arg0.getLatitude(); double weidu1 = arg0.getLongitude(); int jindu = (int) (arg0.getLatitude()*1000000); int weidu = (int) (arg0.getLongitude()*1000000); tv1.setText("经度:" + jindu1 + ",纬度:" + weidu1); System.out.println("经度:" + jindu1 + ",纬度:" + weidu1); MKSearch search = new MKSearch(); search.init(mapManager, new MyMKSearchListener()); search.reverseGeocode(new GeoPoint(jindu, weidu)); } } class MyMKSearchListener implements MKSearchListener { @Override public void onGetAddrResult(MKAddrInfo arg0, int arg1) { if (arg0 == null) { tv2.setText("没有获取想要的位置"); } else { GeoPoint point = arg0.geoPt; tv2.setText("地址:" + arg0.strAddr + ",坐标:" + point.getLatitudeE6() + "," + point.getLongitudeE6()); } } @Override public void onGetDrivingRouteResult(MKDrivingRouteResult arg0, int arg1) { // TODO Auto-generated method stub } @Override public void onGetPoiResult(MKPoiResult arg0, int arg1, int arg2) { // 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 } } // 常用事件监听,用来处理通常的网络错误,授权验证错误等 class MyMKGeneralListener implements MKGeneralListener { @Override public void onGetNetworkState(int arg0) { } @Override public void onGetPermissionState(int arg0) { } } }
BMapApiDemoApp包:
package com.xmb.BaiduMap; import android.app.Application; import android.widget.Toast; import com.baidu.mapapi.*; public class BMapApiDemoApp extends Application { static BMapApiDemoApp mDemoApp; //百度MapAPI的管理类 BMapManager mBMapMan = null; // 授权Key // TODO: 请输入您的Key, // 申请地址:http://dev.baidu.com/wiki/static/imap/key/ String mStrKey = "53351EE4BDE7BD870F41A0B4AF1480F1CA97DAF9"; boolean m_bKeyRight = true; // 授权Key正确,验证通过 // 常用事件监听,用来处理通常的网络错误,授权验证错误等 static class MyGeneralListener implements MKGeneralListener { @Override public void onGetNetworkState(int iError) { Toast.makeText(BMapApiDemoApp.mDemoApp.getApplicationContext(), "您的网络出错啦!", Toast.LENGTH_LONG).show(); } @Override public void onGetPermissionState(int iError) { if (iError == MKEvent.ERROR_PERMISSION_DENIED) { // 授权Key错误: Toast.makeText(BMapApiDemoApp.mDemoApp.getApplicationContext(), "请在BMapApiDemoApp.java文件输入正确的授权Key!", Toast.LENGTH_LONG).show(); BMapApiDemoApp.mDemoApp.m_bKeyRight = false; } } } @Override public void onCreate() { mDemoApp = this; mBMapMan = new BMapManager(this); mBMapMan.init(this.mStrKey, new MyGeneralListener()); super.onCreate(); } @Override //建议在您app的退出之前调用mapadpi的destroy()函数,避免重复初始化带来的时间消耗 public void onTerminate() { // TODO Auto-generated method stub if (mBMapMan != null) { mBMapMan.destroy(); mBMapMan = null; } super.onTerminate(); } }
xml文件就只是一个TextView控件,清单注意加权限的哦
相关文章推荐
- 一个百度定位例子,把自己的经纬度转换为具体位置
- 百度Android定位SDK实现获取当前经纬度及位置
- 百度定位SDK实现获取当前经纬度及位置
- 定位功能---封装的一个获取当前位置的经纬度信息的类
- 百度定位SDK实现获取当前经纬度及位置
- (转载)百度Android定位SDK实现获取当前经纬度及位置
- 将十进制整形数转换成二进制,然后通过字符型输出 自己实现的一个简单的例子
- Android之百度地图开发,包含定位,覆盖物,经纬度位置转换,长按设置中心位置
- 一个最简单的基站定位定出自己位置的小程序
- 使用html5定位经纬度然后用百度api获取城市等位置信息
- 百度定位SDK实现获取当前经纬度及位置
- Android位置服务--百度定位,获取自己的位置
- Android 百度定位获得当前具体位置
- 关于GPS定位经纬度到谷歌(google)坐标以及百度(百度)坐标的转换c#源码
- 百度开发者API接口:获取经纬度和详细地理位置(Geocoding API和IP定位API)
- Camshift原理 camshift利用目标的颜色直方图模型将图像转换为颜色概率分布图,初始化一个搜索窗的大小和位置,并根据上一帧得到的结果自适应调整搜索窗口的位置和大小,从而定位出当前图像中目标的
- iOS开发——定位获取经纬度坐标,并反编码获得地理位置信息(具体地址,国家、省、市等)
- 【经验小谈】百度定位api使用 百度定位demo 百度地图快速定位 百度地图获取当前位置 获取自己的位置 百度定位示例
- 百度定位:定位自己位置,并显示在地图上
- 百度定位SDK实现获取当前经纬度及位置