Google maps api 3 是否有可能从geocoder API获得一致的地址组件数据?

Google maps api 3 是否有可能从geocoder API获得一致的地址组件数据?,google-maps-api-3,google-geocoding-api,Google Maps Api 3,Google Geocoding Api,我用这个: 地理编码器。地理编码(地理请求、功能(结果、状态){ ... ... } 问题是从geocoder返回的数据似乎不一致。可能值得一提的是,当我在调用geocoder之前加载maps API的js文件时,我指定了语言,(并且我还在geocoder.geocode调用的变量geoRequest中指定了国家(例如,澳大利亚的AU) 为了让其他人更容易看到我试图理解的内容,我们可以使用以下URL: 结果中有趣的部分是,此请求返回以下地址\u组件长\u名称: 澳大利亚 北领地(简称NT) 达

我用这个: 地理编码器。地理编码(地理请求、功能(结果、状态){ ... ... }

问题是从geocoder返回的数据似乎不一致。可能值得一提的是,当我在调用geocoder之前加载maps API的js文件时,我指定了语言,(并且我还在geocoder.geocode调用的变量geoRequest中指定了国家(例如,澳大利亚的AU)

为了让其他人更容易看到我试图理解的内容,我们可以使用以下URL:

结果中有趣的部分是,此请求返回以下地址\u组件长\u名称:

澳大利亚

北领地(简称NT)

达尔文

如果我在搜索中包含“briggs street”,那么我会得到这个url:

然后我得到这些地址\u组件长\u名称:

澳大利亚

北领地(简称NT)

达尔文市

达尔文市

布里格斯街

我的问题:

为什么在我搜索“briggs street,Darwin”的第二个示例中没有返回“Darwin”?在这种情况下,文本是:

达尔文市

达尔文市

是否可以通知geocoder API我希望返回一致的层次结构结果,无论是否指定,例如道路

我询问的原因是,我希望根据用户指定的位置,通过输入城市名称或街道名称来收集som统计信息。我希望能够使用返回的组件_地址与客户端(用户)的其他信息一起构建at数据库

但是,如果想查看达尔文的一些统计数据(仅由输入“Darwin”的用户注册的统计数据),则统计报告将不太一致,因为输入“briggs street,Darwin”的用户输入的数据将不会获得存储在“Darwin”位置下方的数据(对于第一个用户),因为“Darwin”与“Darwin”不同“达尔文市”和“达尔文市”

在搜索“布鲁克林富尔顿街”和“布鲁克林”时,可以观察到类似的不一致性。

搜索布鲁克林: ?组件=国家:美国&地址=布鲁克林

返回:

美国

纽约(简称纽约)

国王县

纽约

布鲁克林

但是……搜索“富尔顿+街,布鲁克林”: 组件=国家:美国&地址=布鲁克林富尔顿街

返回:

美国

纽约(简称纽约)

国王县

布鲁克林

富尔顿街


为什么在上面的最后一个结果中“Kings County”和“Brooklyn”之间没有“New York”?再次……似乎存在一些不一致性。

下面是另一个丹麦的例子:

搜索odense:

给我这个结果:

丹麦

地区Syddanmark(行政区一级)

[……]

如果我搜索奥登塞的雷特加德街,如下所示:

那么区域“区域Syddanmark”(行政区域级别1)不在结果集中。为什么会这样


有没有办法通知地理编码员,我确实希望在结果集中返回行政区域级别1,其中包括街道名称?

您可以通过反向地理编码latlngs获得它们,但不总是通过地理编码街道级别地址

达尔文

返回一个口语城市,它与您得到的“达尔文城市”不同。口语城市用“
”类型“:[“口语地区”、“地区”、“政治”]
而不是“
”类型“:[“地区”、“政治”]

“达尔文市”的(非口语)包含在“达尔文市”中,而口语城市“达尔文市”则不包含在“达尔文市”中。后者仅包含在下一个(更大的)政治分区“北领地”中,该分区也包含“达尔文市”。这解释了您看到的组成部分

布鲁克林

布鲁克林和纽约市的其他一些地方有点特别。在那里,城市名称(纽约)与邮政地址无关。这就是为什么街道级别的地址不应该有地址,地址组件也不应该有地址

Odense


与布鲁克林相同,只是整个国家似乎都是这样:
行政区域级别1
组件不会显示,因为它与街道级别地址无关。

请通过编辑问题而不是回答问题来添加示例。