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 ndk不支持宽字符转换
  3. Android手机定位未开启,跳转到GPS开启页面
  4. Android使用GPS
  5. Android(安卓)GPS 获取
  6. android 根据经纬度定位所在城市
  7. android之PopUpWindow显示Listview(文件列表)
  8. android GPS定位和卫星个数(源码)
  9. Android之Button样式

随机推荐

  1. SQL Server导入、导出、备份数据方法
  2. .NET Framework SQL Server 数据提供程序
  3. 对有自增长字段的表导入数据注意事项
  4. mssql自动备份及自动清除日志文件服务器
  5. Sql 语句学习指南第1/2页
  6. MSSQL 清空数据库的方法
  7. SQL Select语句完整的执行顺序
  8. SQL Server 海量数据导入的最快方法
  9. 一条SQL语句搞定Sql2000 分页
  10. 批量执行sql语句的方法