百度地图的城市定位
2016-05-26 20:47
295 查看
百度地图的城市定位
1、导入百度地图的所有libs
2、为xml添加百度自定义
<com.baidu.mapapi.map.MapView android:id="@+id/bmapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" />
3、在百度地图Api上获取秘钥
4、在xml清单列表里面添加权限(以百度地图Demo为例)
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /> <!-- 这个权限用于进行网络定位 --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 这个权限用于访问GPS定位 --> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 获取运营商信息,用于支持提供运营商信息相关的接口 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 用于读取手机当前的状态 --> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 访问网络,网络定位需要上网 --> <uses-permission android:name="android.permission.INTERNET" <application android:name=".DemoApplication" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:hardwareAccelerated="true" > <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="请输入KEY" />
5、实例代码如下:
package com.example.months; import com.baidu.location.BDLocation; import com.baidu.location.BDLocationListener; import com.baidu.location.LocationClient; import com.baidu.location.LocationClientOption; import com.baidu.mapapi.SDKInitializer; import android.os.Bundle; import android.app.Activity; import android.widget.TextView; public class MainActivity extends Activity { private TextView txt_city; private LocationClient mLocationClient; //初始化对象 private MyListener myListener=new MyListener(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //初始化上下文环境 SDKInitializer.initialize(getApplicationContext()); setContentView(R.layout.activity_main); //找控件 txt_city = (TextView) findViewById(R.id.txt_city); mLocationClient = new LocationClient(this); mLocationClient.registerLocationListener( myListener ); //注册监听函数 initLocation(); //开启定位 mLocationClient.start(); } private void initLocation(){ LocationClientOption option = new LocationClientOption(); option.setCoorType("bd09ll");//可选,默认gcj02,设置返回的定位结果坐标系 int span=1000; option.setScanSpan(span);//可选,默认0,即仅定位一次,设置发起定位请求的间隔需要大于等于1000ms才是有效的 option.setIsNeedAddress(true);//可选,设置是否需要地址信息,默认不需要 option.setOpenGps(true);//可选,默认false,设置是否使用gps option.setLocationNotify(true);//可选,默认false,设置是否当gps有效时按照1S1次频率输出GPS结果 option.setIsNeedLocationDescribe(true);//可选,默认false,设置是否需要位置语义化结果,可以在BDLocation.getLocationDescribe里得到,结果类似于“在北京天安门附近” option.setIsNeedLocationPoiList(true);//可选,默认false,设置是否需要POI结果,可以在BDLocation.getPoiList里得到 option.setIgnoreKillProcess(false);//可选,默认true,定位SDK内部是一个SERVICE,并放到了独立进程,设置是否在stop的时候杀死这个进程,默认不杀死 option.SetIgnoreCacheException(false);//可选,默认false,设置是否收集CRASH信息,默认收集 option.setEnableSimulateGps(false);//可选,默认false,设置是否需要过滤gps仿真结果,默认需要 mLocationClient.setLocOption(option); } class MyListener implements BDLocationListener{ @Override public void onReceiveLocation(BDLocation arg0) { txt_city.setText(arg0.getCity()); } } }
相关文章推荐
- SQL注入测试平台 SQLol -4.UPDATE注入测试
- nodejs,npm 安装配置步骤
- String、StringBuffer与StringBuilder之间区别
- 2.git常用使用方法
- 阶段工作
- python记录
- shell编程中常用的技巧
- cocos2d-x中背景图片滚动
- 程序是怎样跑起来的-第13章 附录 让我们开始C语言之旅
- XML 文档中的节点与值的理解
- 使用VS+VisualGDB编译Linux版本RCF(相当于Linux也有COM版本了)
- 【PASOTTIPASOTTI 伞】PASOTTI黑色聚酯纤维伞 Style 478 - 6768-1 - Handle W84【正品 价格 图片】 - 寺库网
- 瞄准
- Qt学习中遇到的问题
- 细心很重要---猜猜这个SQL执行的什么意思
- [转载]OpenCV2.3使用摄像头和视频
- Struts2-搭建开发环境使用三种方式输出
- Iparhan_JavaSE代码简化
- aaaaaaapulltorefresh上拉加载下拉刷新
- 采用Div布局元素位置确定(float、clear、position、z-index)