android/GPS/Geocoding API/getLocationFrom()返回null

本文探讨了Android中地址解析的问题,介绍了getFromLocation()与getFromLocationName()函数的使用限制,并提供了通过Google Maps API实现地址解析的方法及注意事项。

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

打算做一个地址位置解析相关的程序,网上大都用的如下方法:

getFromLocation()与getFromLocationName()这两个函数是大家比较喜欢的,也是资料比较丰富的。

详情见如下链接:

Android 地图的地理编码与地理反编码:

http://www.eoeandroid.com/thread-63307-1-1.html

 

但是,经本人试验发现关键步骤getFromLocation()/getFromLocationName()返回null值,在网上一搜发现很多人也出现相似情况:

http://www.eoeandroid.com/forum.php?mod=viewthread&tid=59961&page=1#pid652205

 

 

万念俱灰!!!!!!

 

 

后面看文档才发现Google跟我们开了个玩笑:

 

真够操蛋的还!

 

 

于是心灰意冷的我开始另辟蹊径:

http://www.eoeandroid.com/thread-64115-1-1.html

感谢二楼!

 

 

于是来到了心中的圣地:

http://code.google.com/intl/zh-CN/apis/maps/documentation/geocoding/

差不多了?

 

 

还不够,google map解析出来的字段与上面链接说明的有些不一样,具体地址与各位层级位置的关系如下:

分别是国家/省份/城市/城市中的具体位置;

 

 

还有个Accuracy字节代表精度,这就因输入得到的经纬度值不同而不同了;

 

如:

http://ditu.google.com/maps/geo?q=您的Latitude,您的Longitude&output=xml&oe=utf8&hl=zh-CN&sensor=true&key=您的Map APIkey

其中,hl=zh-CN代表要返回中文,如果此约束会返回英式地址。

 

还有一些关于用google map解析地址的前提条件:

 

"如果您超过了 24 小时的限制或者滥用此服务,Google Geocoding API 可能会暂停为您服务。"

不明白这句是什么意思!是开发者使用此服务的总时间不能超过24小时吗?

 

以上说明来自:http://www.smnirven.com/?p=39

大致意思是一个IP地址不能在短时间内向服务器频繁发送请求,否则应用程序会被禁用解析服务!

 

但此限制是针对单独一个IP地址而言,所以我们可以通过使用客户端地址解析,可以确保这些限制分别应用到每个用户,而不是针对由所有用户生成的总请求量。若是服务器发送请求的话可以将请求结果缓存在服务器端以响应客户端请求!

http://hi.baidu.com/zdz8207/blog/item/a110830a6850c92ab0351d4a.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值