我正在尝试构建一个基于位置的应用程序,该应用程序显示谷歌地图,并允许用户通过写一个地址来搜索一个位置(如谷歌地图那样)。
我一直在尝试使用android的地理编码器来执行此操作,并找到了一些地址。然而,我尝试的第一个地址之一(vaasankatu,赫尔辛基,芬兰),当我用街道名称(vaasankatu)搜索时,它没有找到。我尝试过的另一个街道名称也没有返回任何结果。如果我在街道名称之后添加城市(赫尔辛基)或国家(芬兰),则地理编码器会找到地址。
谷歌地图网络应用程序和Android应用程序只需通过街道名称搜索即可找到地址,没有任何问题。我想知道我是否能以某种方式让地理编码器在街道名称搜索时返回地址?我当然可以尝试使用地理编码器查找当前城市并在查询后附加它,但这看起来有点像黑客,有更好的方法吗?
我也有点担心geocoder documentation,其中说:
" Geocoder类需要一个未包含的后端服务 核心android框架。 Geocoder查询方法将返回一个 如果平台中没有后端服务,则为空列表。使用 isPresent()方法确定是否有Geocoder实现 存在"
我不太明白这意味着什么..那么有很大一部分手机不支持地理编码器吗?文本似乎暗示可能有,但为什么会有这样的api呢?我应该再使用另一个api吗?例如,对于通常使用的Web服务,Google geocoding api是什么?或者放置api?