- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
嗨,JSON 新手,我想知道我是否可以从这个 API 的 JSON 结果中调用“国家/地区”:http://maps.google.com/maps/api/js?sensor=true&libraries=places
我尝试使用一个循环来获取 JSON 结果 address_components 的最后一部分,但我意识到“国家/地区”的位置因用户的输入而异
详细说明:
场景 1:用户输入:
736 Lockhart Court,澳大利亚昆士兰州哈里斯敦 4350
结果:
澳大利亚//这是正确的
场景 2:用户输入:
美国弗吉尼亚州汉普顿兰利空军基地
结果:
弗吉尼亚//不正确
我当前的代码获取数组 address_components 的最后一个索引,我想知道我是否可以做这样的事情 *data.results[0].address_components[country].long_name;*,但我只是不知道正确的方法。
代码:
<html>
<head></head>
<title></title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&libraries=places"></script>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#btn1 ").click(function() {
var address=encodeURI($('#userInput').val());
var url='https://maps.googleapis.com/maps/api/geocode/json?address='+address+'&sensor=true';
$.getJSON(url, function(data){
for(var row=0; row<data.results.length;row++){
document.getElementById('res').value = (data.results[row].address_components[data.results[row].address_components.length-2].long_name);
}
});
});
});
</script>
<body>
<input type="text" id="res">
<input type="text" name="userInput" id="userInput" />
<input type="button" id="btn1" value="Load Data" />
</body>
</html>
如何在不依赖 address_components 索引的情况下获取特定(国家/地区、街道号码等)元素?
最佳答案
在您的情况下,您必须手动迭代数组并检查 types
数组是否包含 'country'
。您可以使用 array.indexOf为此。
for(var row=0; row<data.results.length;row++){
var item = data.results[row];
for( var i = 0; i< item.address_components.length; i++) {
var component = item.address_components[i];
if( component.types.indexOf('country') != -1) {
document.getElementById('res').value = component.long_name;
}
}
}
关于javascript - JSON 结果从 address_components 获取国家,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21727931/
我有以下代码来解析 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 如何更改
我是一名优秀的程序员,十分优秀!