android通过百度地图获取经纬度和具体地址。

官方网站上就有Demo,http://developer.baidu.com/map/index.php?title=androidsdk

可以参考,打开定位的demo,把它的

1.jar包导入,

2.在AndroidManifest中

a.把uses-permission复制进去,

b.申请key~并复制<meta-data

android:name="com.baidu.lbsapi.API_KEY"

android:value="输入你的key" />

c.因为自己定义了类继承Application,所以在Application处加上

android:name="自己定义的类名~"

3.就可以写代码了。

MainActivity:

public class MainActivity extends Activity{private LocationClient mLocationClient;        //显示城市private TextView LocationResult;        //开始按钮private Button startLocation;public void init(){startLocation = (Button)findViewById(R.id.addfence);LocationResult = (TextView)findViewById(R.id.textView1);}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.location);init();mLocationClient = ((LocationApplication)getApplication()).mLocationClient;                  //调用LocationApplication,获得需要的信息 ((LocationApplication)getApplication()).mLocationResult = LocationResult;startLocation.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubInitLocation();mLocationClient.start();}}});}@Overrideprotected void onStop() {mLocationClient.stop();super.onStop();}private void InitLocation(){LocationClientOption option = new LocationClientOption();option.setLocationMode(LocationMode.Hight_Accuracy);//设置定位模式//LocationMode.Hight_Accuracy 高精度定位模式下,会同时使用GPS、Wifi和基站定位,返回的是当前条件下精度最好的定位结果option.setCoorType("gcj02");//返回的定位结果是百度经纬度,默认值gcj02//可选项:"gcj02"国策局加密经纬度坐标//"bd09ll"百度加密经纬度坐标//"bd09"百度加密墨卡托坐标option.setIsNeedAddress(true);//反编译获得具体位置,只有网络定位才可以mLocationClient.setLocOption(option);}}

LocationAplication类:

public class LocationApplication extends Application {public LocationClient mLocationClient;//定位SDK的核心类public MyLocationListener mMyLocationListener;//定义监听类public TextView mLocationResult,logMsg;public static String city=null;@Overridepublic void onCreate() {super.onCreate();mLocationClient = new LocationClient(this.getApplicationContext());mMyLocationListener = new MyLocationListener();mLocationClient.registerLocationListener(mMyLocationListener);}/** * 实现实位回调监听 */public class MyLocationListener implements BDLocationListener {@Overridepublic void onReceiveLocation(BDLocation location) {//Receive Location if(location.getCity()!=null){city=location.getCity();}StringBuffer sb = new StringBuffer(256);if (location.getLocType() == BDLocation.TypeGpsLocation){//定位结果描述:GPS定位结果sb.append(city);//地理位置} else if (location.getLocType() == BDLocation.TypeNetWorkLocation){//定位结果描述:网络定位结果sb.append(city);}logMsg(sb.toString());}}/** * 显示请求字符串 * @param str */public void logMsg(String str) {try {if (mLocationResult != null)mLocationResult.setText(str);} catch (Exception e) {e.printStackTrace();}}}

更多相关文章

  1. 老罗Android视频开发教程(百度地图实战开发)十集集合
  2. android自APP打开高德,百度,腾讯地图APP调用(整理非原创)
  3. android 根据经纬度定位所在城市
  4. android 百度地图 画轨迹
  5. Android通过原生方式获取经纬度与城市信息的方法
  6. 百度强势介入分裂 Android

随机推荐

  1. Notificaton+IntentService下载
  2. android之fragment与fragment、activity
  3. [android]仿制新浪微博消息页面 图标切换
  4. 基于Android的图像处理演示软件介绍文档
  5. Android 线性布局:LinearLayout
  6. Android 通知(Notification)兼容到Androi
  7. 百度Android定位SDK4.2
  8. android 进程优先级
  9. Android实现获取本机中所有图片
  10. android 多彩文本实现