获取某一位置的经纬度信息
在移动App程序中,有些情况下需要获取某一位置的经纬度信息。例如 当GPS定位不准确的时候,可以通过手工选取位置信息来修正一些错误信息。 特别对于一些找朋友类应用的时候,明明人在A地结果地图上显示的结果却在B地,误差有1KM,让人无法接受。 而使用谷嘀位置选择器就可以手工在地图上选择位置了,并且可以把所选位置的经纬度信息复制出来,选择好位置后,点击程序界面右下方?按钮傍边的复制按钮即可;而对于第三方开发者来说,可以直接调用谷嘀位置选择器来让用户选择位置,完成后把用户选择的经纬度信息返回给第三方App。 谷嘀位置选择器App的主界面,如右图 图中标记的信息都是可以有第三方App定制的信息,如何定制下面会介绍; 先来看看如何调用该程序来选择位置: 可定制元素的KEY如下: 用户选择后返回的内容有3个,他们的KEY分别为: 为了简化调用该程序,我们还提供了一个开发者集成库,下载goodevLocationPickCn.jar这个文件(或者下载源代码:Utils.java ),然后通过如下代码来调用即可: 如果用户手机中还没有安装谷嘀位置选择器则会弹出一个对话框告诉用户需要安装,可以通过网络下载安装也可以通过电子市场安装。如下图: 当用户完成后,需要在onActivityResult函数中处理用户选择的结果,示例代码如下:
1. 第三方App通过Intent (goodev.intent.action.PICK_LOCATION) 来调用谷嘀位置选择器,然后在Intent中设置一些附加数据(通过函数 intent.putExtra(key, value)) 来定制谷嘀位置选择器的界面。
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
);
@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"
);
//注意:这个可能为null
int
latitudeE6 = data.getIntExtra(Utils.LATITUDE,
0
);
int
longitudeE6 = data.getIntExtra(Utils.LONGITUDE,
0
);
}
}
上一篇: 课程一 为各种屏幕尺寸做设计
下一篇: 支持各种尺寸的屏幕