- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我的系统正在处理的地址只有一个匹配项时,Google API 地理编码服务对我来说效果很好。当有两个或更多匹配项时,我想将找到的地址(可能是“formatted_address”)呈现给用户并让他们选择他们想要的地址。
然而,谷歌返回了许多字段“类型”。所以我想知道如何通过连接适当的“address_components”从不同类型的数据中构建地址(字段)。我有兴趣将地址拆分为单独的字段(街道地址、城镇/城市、国家/地区和邮政编码)以将其存储在数据库中。是否有页面说明要使用的类型和顺序?
例如,我正在考虑对街道地址部分使用“street_number”、“route”和“locality”,这适用于典型地址,但我知道它并不总是有效。所以我正在寻找一个强大的,但不一定是一个详尽的解决方案。
最佳答案
我遇到了谷歌地理编码响应对象,没有简单的方法来处理它。但是关于 PHP 解决方案,我创建了一个适合 Laravel 的自定义 Controller ,但可以轻松适应任何其他 PHP 应用程序。
你可以在这里找到完整的要点:https://gist.github.com/Gkiokan/510a04aadaeed911958cb17b6e62a38f
现在为您解答如何从 Google 地理编码响应对象中整理出数据。您需要遍历 address_components
数组并将需要的值保存到新的对象或数组。您可以在第43行@方法getAddress
中找到对应的过滤数据的方法。 . here
单独的解决方案如下:
// some php file
public function getAddress($response=[]){
// get the address_components Array here
$ac = $response['results'][0]['address_components'];
// predefine the final $address Array
$address = [
'address' => '',
'city' => '',
'postal_code' => '',
'country' => '',
'formatted' => $response['results'][0]['formatted_address'],
];
// Loop though the address_components and set matching values
foreach($ac as $item):
$name = $item['long_name'];
$type = $item['types'][0];
switch ($type):
case 'route':
$address['address'] = $name;
break;
case 'locality':
$address['city'] = $name;
break;
case 'postal_code':
$address['postal_code'] = $name;
break;
case 'country':
$address['country'] = $name;
break;
endswitch;
endforeach;
return $address;
}
关于google-maps - 从 Google map API 中的 "address_components"构建地址字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42893953/
我有以下代码来解析 country 选择“自动完成”列表时: $('#spot_address').autocomplete({ // This bit uses the geocoder to
嗨,JSON 新手,我想知道我是否可以从这个 API 的 JSON 结果中调用“国家/地区”:http://maps.google.com/maps/api/js?sensor=true&librar
我正在使用 Google 地点自动完成功能。而且我不知道如何获取 address_components 的 place_id。在 JSON 中只有 long_name、short_name 类型。我的
我正在使用 Google Maps V3 api。我正在提交地址搜索以返回正确的地理编码结果,包括地址、机构名称和纬度/经度。 我的问题是地理编码器的响应可以采用不同的格式。它始终遵循相同的结构,但某
我需要处理所有来自 Google Places API 的信息并保存在 MySQL 数据库中。 为此,我需要知道所有地址组件类型,因为它们将列在我的地址表中,但在查看文档并尝试用谷歌搜索后,我什么也没
在我的应用程序中,我从谷歌获取长数据。我知道我们可以迭代并获得值。但我确信谷歌的结果总是和我得到的一样。在这种情况下,始终以安全的方式获取国家/地区名称的正确方法是什么? 这是我在预设处得到的结果:
考虑以下 google map 地理编码响应的 JSON 响应。它由一组 address_components 组成有五个元素。通常开发人员使用它的第一个项目(索引为 0 的项目)来查找地址元素,例如
当我的系统正在处理的地址只有一个匹配项时,Google API 地理编码服务对我来说效果很好。当有两个或更多匹配项时,我想将找到的地址(可能是“formatted_address”)呈现给用户并让他们
我的网站上有一个简单的搜索功能,我正在尝试访问地点结果对象的 address_components。但它总是不确定的。 本质上,我要检索的是用于在每个标记的信息窗口中显示的邮政编码。我之前为每个地方使
通过将地址组件提取到单独的表单字段中,此代码可以正常工作,但我的问题是它迫使我将 HTML 输入 ID 命名为与地址组件相同的名称。例如,使用下面的 .js 代码,我需要: and 如何更改
我是一名优秀的程序员,十分优秀!