具体内容如下效果图:
1、布局文件,就是一个MapView和ListView,布局文件就是上面是一个百度地图的mapview,下面是一个显示周边位置的ListView
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical" >
- <RelativeLayout
- android:id="@+id/plugin_camera_image_folder_headview"
- android:layout_width="fill_parent"
- android:layout_height="45dp"
- android:layout_marginBottom="3dp"
- android:background="#2B4058"
- android:gravity="center_vertical" >
- <TextView
- android:id="@+id/chat_publish_complete_cancle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_centerVertical="true"
- android:layout_marginLeft="10dp"
- android:text="取消"
- android:textColor="#ffffff"
- android:textSize="16sp" />
- <TextView
- android:id="@+id/chat_publish_complete_title"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_centerInParent="true"
- android:text="选择当前位置"
- android:textColor="#ffffff"
- android:textSize="20sp" />
- <Button
- android:id="@+id/chat_publish_complete_publish"
- android:layout_width="55dp"
- android:layout_height="27dp"
- android:layout_alignParentRight="true"
- android:layout_centerVertical="true"
- android:layout_marginRight="10dp"
- android:background="@drawable/chat_publish_bg"
- android:text="完成"
- android:textColor="#fff"
- android:textSize="16sp" />
- </RelativeLayout>
- <RelativeLayout
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:layout_weight="2" >
- <com.baidu.mapapi.map.MapView
- android:id="@+id/bmapView"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:clickable="true" />
- <Button
- android:id="@+id/request"
- android:layout_width="40dp"
- android:layout_height="40dp"
- android:layout_alignParentBottom="true"
- android:layout_alignParentLeft="true"
- android:layout_marginBottom="40dp"
- android:layout_marginLeft="10dp"
- android:background="@drawable/custom_loc" />
- </RelativeLayout>
- <ListView
- android:id="@+id/lv_location_nearby"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_weight="3" />
- </LinearLayout>
2、初始化控件
- <span style="white-space:pre"> </span>dataList = new ArrayList<PoiInfo>();
- mMapView = (MapView) findViewById(R.id.bmapView);
- mCompleteButton = (Button) findViewById(R.id.chat_publish_complete_publish);
- mRequestLocation = (Button) findViewById(R.id.request);
- mListView = (ListView) findViewById(R.id.lv_location_nearby);
- checkPosition=0;
- adapter = new ListAdapter(0);
- mListView.setAdapter(adapter);
3、 定位
- <span style="white-space:pre"> </span>//重新设置
- checkPosition = 0;
- adapter.setCheckposition(0);
- mBaiduMap = mMapView.getMap();
- mBaiduMap.clear();
- // 开启定位图层
- mBaiduMap.setMyLocationEnabled(true);
- mBaiduMap.setMapStatus(MapStatusUpdateFactory.newMapStatus(new MapStatus.Builder().zoom(17).build())); // 设置级别
- // 定位初始化
- mLocationClient = new LocationClient(getApplicationContext()); // 声明LocationClient类
- mLocationClient.registerLocationListener(myListener);// 注册定位监听接口
- /**
- * 设置定位参数
- */
- LocationClientOption option = new LocationClientOption();
- option.setLocationMode(LocationMode.Hight_Accuracy);// 设置定位模式
- // option.setScanSpan(5000);// 设置发起定位请求的间隔时间,ms
- option.setNeedDeviceDirect(true);// 设置返回结果包含手机的方向
- option.setOpenGps(true);
- option.setAddrType("all");// 返回的定位结果包含地址信息
- option.setCoorType("bd09ll");// 返回的定位结果是百度经纬度,默认值gcj02
- option.setIsNeedAddress(true);// 返回的定位结果包含地址信息
- mLocationClient.setLocOption(option);
- mLocationClient.start(); // 调用此方法开始定位
4、定位SDK监听函数
- public class MyLocationListener implements BDLocationListener {
- @Override
- public void onReceiveLocation(BDLocation location) {
- if (location == null || mMapView == null) {
- return;
- }
- locType = location.getLocType();
- Log.i("mybaidumap", "当前定位的返回值是:"+locType);
- longitude = location.getLongitude();
- latitude = location.getLatitude();
- if (location.hasRadius()) {// 判断是否有定位精度半径
- radius = location.getRadius();
- }
- if (locType == BDLocation.TypeNetWorkLocation) {
- addrStr = location.getAddrStr();// 获取反地理编码(文字描述的地址)
- Log.i("mybaidumap", "当前定位的地址是:"+addrStr);
- }
- direction = location.getDirection();// 获取手机方向,【0~360°】,手机上面正面朝北为0°
- province = location.getProvince();// 省份
- city = location.getCity();// 城市
- district = location.getDistrict();// 区县
- LatLng ll = new LatLng(location.getLatitude(),location.getLongitude());
- //将当前位置加入List里面
- PoiInfo info = new PoiInfo();
- info.address = location.getAddrStr();
- info.city = location.getCity();
- info.location = ll;
- info.name = location.getAddrStr();
- dataList.add(info);
- adapter.notifyDataSetChanged();
- Log.i("mybaidumap", "province是:"+province +" city是"+city +" 区县是: "+district);
- // 构造定位数据
- MyLocationData locData = new MyLocationData.Builder()
- .accuracy(location.getRadius())
- // 此处设置开发者获取到的方向信息,顺时针0-360
- .direction(100).latitude(location.getLatitude())
- .longitude(location.getLongitude()).build();
- mBaiduMap.setMyLocationData(locData);
- //画标志
- CoordinateConverter converter = new CoordinateConverter();
- converter.coord(ll);
- converter.from(CoordinateConverter.CoordType.COMMON);
- LatLng convertLatLng = converter.convert();
- OverlayOptions ooA = new MarkerOptions().position(ll).icon(BitmapDescriptorFactory.fromResource(R.drawable.icon_marka));
- mCurrentMarker = (Marker) mBaiduMap.addOverlay(ooA);
- MapStatusUpdate u = MapStatusUpdateFactory.newLatLngZoom(convertLatLng, 17.0f);
- mBaiduMap.animateMapStatus(u);
- //画当前定位标志
- MapStatusUpdate uc = MapStatusUpdateFactory.newLatLng(ll);
- mBaiduMap.animateMapStatus(uc);
- mMapView.showZoomControls(false);
- //poi 搜索周边
- new Thread(new Runnable() {
- @Override
- public void run() {
- // TODO Auto-generated method stub
- Looper.prepare();
- searchNeayBy();
- Looper.loop();
- }
- }).start();
- }
5、搜索周边:
- private void searchNeayBy(){
- // POI初始化搜索模块,注册搜索事件监听
- mPoiSearch = PoiSearch.newInstance();
- mPoiSearch.setOnGetPoiSearchResultListener(this);
- PoiNearbySearchOption poiNearbySearchOption = new PoiNearbySearchOption();
- poiNearbySearchOption.keyword("公司");
- poiNearbySearchOption.location(new LatLng(latitude, longitude));
- poiNearbySearchOption.radius(100); // 检索半径,单位是米
- poiNearbySearchOption.pageCapacity(20); // 默认每页10条
- mPoiSearch.searchNearby(poiNearbySearchOption); // 发起附近检索请求
- }
7、周边地理位置结果返回
- @Override
- public void onGetPoiResult(PoiResult result) {
- // 获取POI检索结果
- if (result == null || result.error == SearchResult.ERRORNO.RESULT_NOT_FOUND) {// 没有找到检索结果
- Toast.makeText(MainActivity.this, "未找到结果",Toast.LENGTH_LONG).show();
- return;
- }
- if (result.error == SearchResult.ERRORNO.NO_ERROR) {// 检索结果正常返回
- // mBaiduMap.clear();
- if(result != null){
- if(result.getAllPoi()!= null && result.getAllPoi().size()>0){
- dataList.addAll(result.getAllPoi());
- // adapter.notifyDataSetChanged();
- Message msg = new Message();
- msg.what = 0;
- handler.sendMessage(msg);
- }
- }
- }
- }
8、返回结果result.getAllPoi() 设到ListView的Adapter里面去,刷新控件即可。
9、源代码
相关推荐
第11讲:深入理解指针(1)
springboot整合 freemarker方法
第14讲:深入理解指针(4)
《同行者4.1.2语音助手:车机版安装详解》 在现代科技日新月异的时代,智能车载设备已经成为了汽车生活的重要组成部分。"同行者4.1.2"便是这样一款专为车机设计的语音助手,旨在提供更为便捷、安全的驾驶体验。该版本针对掌讯全系列设备进行了兼容优化,让车主能够轻松实现语音控制,减少驾驶过程中的手动操作,提升行车安全性。 我们来了解下"同行者4.1.2"的核心功能。这款语音助手集成了智能语音识别技术,用户可以通过简单的语音指令完成导航、音乐播放、电话拨打等一系列操作,有效避免了因操作手机或车机带来的分心。此外,其强大的语义理解和自学习能力,使得它能逐步适应用户的口音和习惯,提供更个性化的服务。 在安装过程中,用户需要注意的是,"同行者4.1.2"包含了四个核心组件,分别是: 1. TXZCore.apk:这是同行者语音助手的基础框架,包含了语音识别和处理的核心算法,是整个应用运行的基础。 2. com.txznet.comm.base.BaseApplication.apk:这个文件可能包含了应用的公共模块和基础服务,为其他组件提供支持。 3. TXZsetting.apk:这
市场拓展主管绩效考核表
“线上购车3D全方位体验:汽车模型展示与个性化定制功能”,three.js案例- 线上购车3d展示(源码) 包含内容:1.汽车模型展示;2.汽车肤;3.轮毂部件更;4.开关车门动画;5.汽车尺寸测量;6.自动驾驶;7.镜面倒影;8.hdr运用;9.移动端适配; 本为html+css+three.js源码 ,核心关键词:three.js案例; 线上购车3D展示; 汽车模型展示; 汽车换肤; 轮毂部件更换; 开关车门动画; 汽车尺寸测量; 自动驾驶; 镜面倒影; HDR运用; 移动端适配; HTML+CSS+three.js源码。,"Three.js源码:线上购车3D展示案例,含汽车模型、换肤、轮毂更换等九大功能"
数据名称:2000-2022年各县市区主要社会经济发展指标面板数据 数据类型:dta格式 数据来源:中国县域统计
一、智慧环卫管理平台的建设背景与目标 智慧环卫管理平台的建设源于对环卫管理全面升级的需求。当前,城管局已拥有139辆配备车载GPS系统、摄像头和油耗传感器的环卫车辆,但环卫人员尚未配备智能移动终端,公厕也缺乏信息化系统和智能终端设备。为了提升环卫作业效率、实现精细化管理并节省开支,智慧环卫管理平台应运而生。该平台旨在通过信息化技术和软硬件设备,如车载智能终端和环卫手机App,实时了解环卫人员、车辆的工作状态、信息和历史记录,使环卫作业管理透明化、精细化。同时,平台还期望通过数据模型搭建和数据研读,实现更合理的环卫动态资源配置,为环卫工作的科学、健康、持续发展提供决策支持。 二、智慧环卫管理平台的建设内容与功能 智慧环卫管理平台的建设内容包括运行机制体制建设、业务流程设计、智慧公厕系统建设、网络建设、主机和储存平台需求、平台运维管理体系、硬件标准规范体系以及考核评价体系等多个方面。其中,智慧公厕系统建设尤为关键,它能实时监控公厕运行状态,保障公厕的清洁和正常运行。平台建设还充分利用了现有的电子政务网络资源,并考虑了有线和无线网络的需求。在功能上,平台通过普查、整合等手段全面收集环卫车辆、企业、人员、设施、设备等数据,建立智慧环卫基础数据库。利用智能传感、卫星定位等技术实现环卫作业的在线监管和远程监控,实现对道路、公共场所等的作业状况和卫生状况的全面监管。此外,平台还建立了环卫作业网格化管理责任机制,实现从作业过程到结果的全面监管,科学评价区域、部门、单位和人员的作业效果。 三、智慧环卫管理平台的效益与风险规避 智慧环卫管理平台的建设将带来显著的环境、经济和管理效益。环境方面,它将有力推进环境卫生监管服务工作,改善环境卫生状况,为人民群众创造更加清洁、卫生的工作和生活环境。经济方面,通过智慧化监管,大大降低了传统管理手段的成本,提高了监管的准确性和效率。管理方面,平台能够追踪溯源市民反映的问题,如公厕异味、渣土车辆抛洒等,并找到相应的责任单位进行处置,防止类似事件再次发生。同时,平台还拥有强大的预警机制功能,能够在很多环卫问题尚未出现前进行处置。然而,平台建设也面临一定的风险,如部门协调、配合问题,建设单位选择风险以及不可预测的自然灾害等。为了规避这些风险,需要加强领导、统一思想,选择优秀的系统集成商承接项目建设,并做好计算机和应用系统的培训工作。同时,也要注意标准制定工作和相关法律法规的制定工作,以保证系统建设完成后能够真正为环卫管理工作带来便利。
36 -企业管理主管绩效考核表1
1.1 -1.4 工程代码
USDT合约,USDT智能合约
基于姿态估计三维人脸形状重建.pdf
一般员工绩效考核表模板(通用版) (2)
全国各省295地级市互联网普及率、互联网用户数、每百人互联网宽带用户(2011-2022年) 数据年份:2011-2022年(2022存在部分缺失) 数据范围:全国各省295个地级市 数据来源:地方统计局
一、各省、分行业CO2排放、283个地级市碳排放及计算过程 2.分行业二氧化碳排放量 在这里插入图片描述 3、280多个地级市碳排放及计算过程 二、碳中和文献、最新政策、碳金融数据+数学建模 1.二氧化碳减排规划,碳金融数据收集及数学建模 2.碳中和政策和下载量最高的碳中和论文 三、碳排放+碳市场+碳交易+碳中和+碳排放核算Excel自动计算表 全行业碳排放核算Excel自动计算表 四、碳交易数据 五、主要能源碳排放计算参数
第20讲:自定义类型:结构体
视觉跟踪算法综述.pdf
MATLAB超效率SBM-DEA模型代码详解:简易操作指南及期望与非期望产出的超效率分析,附Malmquist指数与分解功能,MATLAB的超效率SBM-DEA模型代码(有安装教程和内容讲解之类的东西),操作很简单 可以做期望产出和非期望产出的超效率和非超效率sbm模型和Malmquist指数和分解 ,MATLAB; SBM-DEA模型; 超效率SBM-DEA; 安装教程; 内容讲解; 期望产出; 非期望产出; 超效率与非超效率sbm模型; Malmquist指数; 分解。,"MATLAB超效SBM-DEA模型代码:非期望产出分析的便捷工具"
人事行政主管绩效考核评分表
人力资源管理工具绩效考核excel模板