- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有以下代码来解析 country
选择“自动完成”列表时:
$('#spot_address').autocomplete({
// This bit uses the geocoder to fetch address values
source: function(request, response) {
geocoder.geocode( {'address': request.term }, function(results, status) {
// Get address_components
for (var i = 0; i < results[0].address_components.length; i++)
{
var addr = results[0].address_components[i];
var getCountry;
if (addr.types[0] == 'country')
getCountry = addr.long_name;
}
response($.map(results, function(item) {
return {
label: item.formatted_address,
value: item.formatted_address,
latitude: item.geometry.location.lat(),
longitude: item.geometry.location.lng(),
country: getCountry
}
}));
})
},
// This bit is executed upon selection of an address
select: function(event, ui) {
// Get values
$('#spot_country').val(ui.item.country);
$('#spot_lat').val(ui.item.latitude);
$('#spot_lng').val(ui.item.longitude);
var location = new google.maps.LatLng(ui.item.latitude, ui.item.longitude);
marker.setPosition(location);
map.setCenter(location);
},
// Changes the current marker when autocomplete dropdown list is focused
focus: function(event, ui) {
var location = new google.maps.LatLng(ui.item.latitude, ui.item.longitude);
marker.setPosition(location);
map.setCenter(location);
}
});
但是,上面的代码不起作用,在解析国家时,无论如何只解析自动完成的第一个结果,这对数组results[0]
有意义因为它只获取第一个结果。
我试图将它移动到select
函数中,但是select
中的ui
只包含formatted_address
,longitude
和 latitude
,但不是 address_components
。
选择“自动完成列表”项目时,我必须怎么做?
非常感谢。
最佳答案
一般解决方案:
var address_components = results[0].address_components;
var components={};
jQuery.each(address_components, function(k,v1) {jQuery.each(v1.types, function(k2, v2){components[v2]=v1.long_name});});
现在你的组件
看起来像这样:
street_number: "1100",
route: "E Hector St",
locality: "Conshohocken",
political: "United States",
administrative_area_level_3: "Whitemarsh"…
administrative_area_level_1: "Pennsylvania"
administrative_area_level_2: "Montgomery"
administrative_area_level_3: "Whitemarsh"
country: "United States"
locality: "Conshohocken"
political: "United States"
postal_code: "19428"
route: "E Hector St"
street_number: "1100"
你可以这样查询:
components.country
关于javascript - 在自动完成选择时解析谷歌地图中的 address_components,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8082405/
我有以下代码来解析 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 如何更改
我是一名优秀的程序员,十分优秀!