解析谷歌地图中的addressComponents
Parsing addressComponents in Google Maps
本文关键字:addressComponents 谷歌地图 更新时间:2024-04-29
在addressComponents上初始化和更新时,我无法获得完整的国家/地区名称和州名称。虽然我的名字很短,但我想解析和检索州和国家的长名称。
JS-
function updateControls(addressComponents) {
$('#ustate').val(addressComponents.stateOrProvince);
$('#ucountry').val(addressComponents.country);
}
$('#mapz').locationpicker({
location: {
latitude: 45.91886765642549,
longitude: -77.57585875078735
},
radius: 300,
inputBinding: {
locationNameInput: $('#pac-input'),
},
enableAutocomplete: true,
onchanged: function(currentLocation, radius, isMarkerDropped) {
var addressComponents = $(this).locationpicker('map').location.addressComponents;
updateControls(addressComponents);
},
oninitialized: function(component) {
var addressComponents = $(component).locationpicker('map').location.addressComponents;
updateControls(addressComponents);
}
});
HTML:
<div style="width: 900px !important; height:300px !important" id="mapz"></div>
<input autocomplete="off" placeholder="Search Box" id="pac-input" class="text_field" type="text">
<input type="text" name="ucountry" id="ucountry" size="45" value="" class="text_field" />
<input type="text" name="ustate" id="ustate" maxlength="75" class="text_field" />
您可以从以下代码中获取国家/地区:
function getCountry(addrComponents) {
for (var i = 0; i < addrComponents.length; i++) {
if (addrComponents[i].types[0] === "country") {
console.log(addrComponents[i].long_name);
return addrComponents[i].long_name;
}
if (addrComponents[i].types.length === 2) {
if (addrComponents[i].types[0] === "political")
{
console.log(addrComponents[i].long_name);
return addrComponents[i].long_name;
}
}
}
}
对于状态使用以下功能:
function getState(addrComponents) {
for (var i = 0; i < addrComponents.length; i++) {
if (addrComponents[i].types[0] === "administrative_area_level_1") {
console.log(addrComponents[i].long_name);
return addrComponents[i].long_name;
}
}
}
相关文章:
- 没有找到相关文章