Android地图开发中的地理编码与地理反编码

本文介绍了Android地图开发中的地理编码和反编码,包括如何使用Google Map Service进行查询。通过示例代码展示了如何在应用程序中实现地图显示、地址与经纬度的相互转换,以及在地图上进行交互操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

地理编码(Geocoding)与地理反编码(Reverse Geocoding)是地图操作中的常见操作,前者表示通过街道地址请求空间坐标,后者表示通过空间坐标请求街道地址。通俗的说,二者就是街道地址与经纬度的转换。举例来说,前者就是输入查询"上海市杨浦区四平路1239号"得到(31.285207060526762, 121.50546412914991),而后者则表示这个反过程。

 

在实际的移动开发过程中,地图相关的操作对于地理编码与地理反编码的使用都是十分普遍。幸运的是,Android的MapView控件中对于这两者都进行了封装,因此可以方便的利用Google Map Service进行二者查询。下面将对开发过程做一个简单介绍。

 

首先必须进行MapKey的申请,任何地图的显示都需要申请一个MapKey。具体的申请步骤可见

http://code.google.com/intl/zh-CN/android/maps-api-signup.html

 

然后可以建立一个基于Google APIs的程序,并且在AndroidManifest.xml中加入地图API的支持。

 

 

 

接着可以在主Layout文件中加入对于地图的显示,这里需要加入刚才申请的MapKey,否则地图将无法正常显示。

 

 

接着在主Activity的JAVA文件进行修改,支持地图显示。

 

 

 

此时运行程序,地图应该就可以正常显示了,见下图。


 

此时我们再向程序中加入地理编码与地理反编码的功能,其参考代码如下。 

 

地理编码:

 

地理反编码,其中MapOverlay为地图图层上的叠加图层,用于标识的显示以及点击事件的捕捉。

 

 

 最终实现结果如下图所示,地理编码,查询“上海市杨浦区四平路1239号”,结果其实略有偏差。中国的地址与邮编比较混乱,所以结果有些地方无法做到完全准确。

 

 

地理反编码


本文系“首届 Google 暑期大学生博客分享大赛——2010 Andriod 篇”参赛文章

 

评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值