在移动App程序中,有些情况下需要获取某一位置的经纬度信息。例如 当GPS定位不准确的时候,可以通过手工选取位置信息来修正一些错误信息。 特别对于一些找朋友类应用的时候,明明人在A地结果地图上显示的结果却在B地,误差有1KM,让人无法接受。
而使用谷嘀位置选择器就可以手工在地图上选择位置了,并且可以把所选位置的经纬度信息复制出来,选择好位置后,点击程序界面右下方?按钮傍边的复制按钮即可;而对于第三方开发者来说,可以直接调用谷嘀位置选择器来让用户选择位置,完成后把用户选择的经纬度信息返回给第三方App。
谷嘀位置选择器App的主界面,如右图 图中标记的信息都是可以有第三方App定制的信息,如何定制下面会介绍;
谷嘀位置选择
先来看看如何调用该程序来选择位置:
1. 第三方App通过Intent (goodev.intent.action.PICK_LOCATION) 来调用谷嘀位置选择器,然后在Intent中设置一些附加数据(通过函数 intent.putExtra(key, value)) 来定制谷嘀位置选择器的界面。
可定制元素的KEY如下:
- TITLE:自定义选择界面的标题;
- ENABLE_SEARCH:是否启用位置搜索,如果为false则隐藏搜索按钮和位置输入框,默认为true;
- SEARCH_HINT:自定义搜索位置输入框中的输入提示内容;
- SEARCH_TEXT:自定义搜索按钮的文本内容;
- OK_TEXT:自定义完成按钮的文本内容;
- LOCATION_TEXT:自定义显示用户所选位置前面的位置标签的文本;
- ZOOM_LEVEL:自定义地图的默认放大缩小级别(int型数字 范围为1-21);
- HELP_TEXT:自定义帮助界面的文本内容(用户点击界面右下角的?按钮打开帮助界面);
- LATITUDE:自定义默认选择位置的纬度坐标信息,该值为字符串,内容为纬度数值*1000000,例如 如果想设置默认位置为 (12.343,123.21) 则这个字符串为“12343000”;
- LONGITUDE:自定义默认经度信息,字符串 同上;
用户选择后返回的内容有3个,他们的KEY分别为:
- LATITUDE:内容为纬度坐标值*1000000, int型;
- LONGITUDE:内容为经度坐标值*1000000, int型;
- ADDRESS:返回的内容为android.location.Address 对象,如果没法获取位置(例如 无法访问网络),则返回NULL。
为了简化调用该程序,我们还提供了一个开发者集成库,下载goodevLocationPickCn.jar这个文件(或者下载源代码:Utils.java ),然后通过如下代码来调用即可:
1
2
3
4
5
6
|
Intent intent = new Intent( "goodev.intent.action.PICK_LOCATION" );
intent.putExtra( "title" , "Pick a address!" );
intent.putExtra( "search" , true );
intent.putExtra( "latitude" , "12210000" );
intent.putExtra( "longitude" , "22210000" );
Utils.pickLocationOrShowDownloadDialog( this ,intent, 200 );
|
如果用户手机中还没有安装谷嘀位置选择器则会弹出一个对话框告诉用户需要安装,可以通过网络下载安装也可以通过电子市场安装。如下图:
下载对话框
当用户完成后,需要在onActivityResult函数中处理用户选择的结果,示例代码如下:
1
2
3
4
5
6
7
8
9
|
@Override
protected void onActivityResult( int requestCode, int resultCode, Intent data) {
super .onActivityResult(requestCode, resultCode, data);
if (requestCode == 200 && resultCode == Activity.RESULT_OK) {
Address address = data.getParcelableExtra( "address" );
int latitudeE6 = data.getIntExtra(Utils.LATITUDE, 0 );
int longitudeE6 = data.getIntExtra(Utils.LONGITUDE, 0 );
}
}
|
分享到:
相关推荐
`Results`字段则包含一个或多个地理位置信息,每个`Result`包含`Geometry`对象,其中的`location`属性就是我们寻找的经纬度坐标。 在实际应用中,你可能还需要处理API的调用限制、错误处理、缓存策略等细节问题。...
这几天比较空闲,就接触了下百度地图的API(开发者中心链接地址:http://developer.baidu.com),发现调用还是挺方便的,本文将给大家详细的介绍关于python通过百度地图API获取某地址的经纬度的相关内容,分享出来供...
### PHP 获取某一地点的经纬度 #### 知识点概览 本文主要介绍如何使用PHP通过百度地图API来获取一个具体地址(包括城市、省份、地区及详细地址)的地理坐标(经度和纬度)。这在开发涉及地理位置服务的应用程序时...
在给定的场景中,我们需要利用`ncl`来处理一个未知信息的`.nc`(NetCDF)文件,以获取其中的经纬度坐标位置信息。 NetCDF(Network Common Data Form)是一种自描述、可移植的文件格式,广泛用于存储多维数组数据,...
根据经纬度获取google地图海拔
1. **Android Location服务**:Android系统提供了一套完整的Location服务框架,允许开发者获取设备的位置信息,包括GPS(全球定位系统)和网络定位。通过注册LocationListener或使用FusedLocationProviderClient,...
在IT行业中,获取地表特定位置的高程值是一项常见的任务,这通常涉及到地理信息系统(GIS)和遥感技术。本项目聚焦于通过输入经纬度坐标来查询对应地点的高程信息,并结合了多方面的技术手段,如双线性内插、Redis...
自己写的一个Js 就几行代码 获取到某一个地点的经纬度 ...用地图的时候很方便!
爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的...
项目会创建一个API接口,接收经纬度作为输入参数,并调用GeoCoding服务获取行政区域信息。 3. **JSON数据处理**:在与外部服务交互时,通常会使用JSON格式进行数据交换。Spring Boot内置了Jackson库支持JSON序列化...
以上就是关于“service中定时定位经纬度信息”的核心内容,通过结合百度地图API和Service,我们可以实现在后台定期获取并处理用户的地理位置信息。在实际项目中,还可以根据具体需求进行功能扩展,例如加入地理围栏...
- **位置数据分析**:在进行市场调研时,可以通过该API获取某一地区的人口统计信息、周边设施等数据,从而辅助决策制定。 - **物流配送系统**:利用地理编码与反向地理编码技术,物流公司可以精确地定位货物位置,...
2. **获取经纬度信息**:通过变量名找到存储经纬度的数组,通常为`lon`和`lat`。 3. **设定提取范围**:定义感兴趣的经度和纬度范围,例如,一个矩形区域。 4. **筛选数据**:使用索引操作或逻辑索引从原始数据中...
7. 另外,当鼠标在地图上移动时,地图下方会实时显示当前鼠标所在位置的经纬度,这使得我们可以方便地获取地图上的任何位置坐标。 通过以上步骤,我们不仅能够了解如何在百度地图上查看某地点的经纬度,还能进行...
3. **地理定位**:在移动应用或网站上,可以利用这些边界数据判断用户所在位置是否在某一省份内,从而提供定制化的服务。 4. **可视化**:在数据可视化工具中,可以通过省份边界数据制作热力图、 choropleth图,...
例如,分析某一地区的用户分布,可以根据用户上报的经纬度信息,找出其所在省份市,进而统计出各地区的用户数量,绘制热力图。 总的来说,"最全省份市外围经纬度"数据集是一个强大的工具,能够帮助开发者和数据分析...
本项目“Cesium地图显示鼠标经纬度和高度”是基于HTML前端技术实现的一个基本功能,允许用户在交互地图时查看鼠标位置的经度、纬度以及海拔高度。下面我们将深入探讨这一功能的实现及其相关技术。 首先,我们需要...
总之,全国各城市经纬度的JSON数据是一个宝贵的资源,它简化了地理信息的获取和处理,为各种地理位置相关的应用开发提供了便利。理解和掌握如何有效利用这类数据,对于IT从业者尤其是前端和后端开发者而言,是提升...
GIS(Geographic Information System,地理信息系统)是一种集成了计算机硬件、软件和地理数据的系统,用于获取、存储、管理、分析和展示所有类型的空间或地理信息。在本场景中,我们关注的是如何根据经纬度坐标来...