我对将城市与地址的城市组成部分进行匹配存在问题。例如,我有一种形式,它返回的types
参数设置为(regions)
,城市名,另一种形式,其types
参数设置为addresses
。
场景,当我在完整地址输入中搜索此内容时
14林布兰素
当我在阿姆斯特丹选择一个组件时,它将为我提供以下组件:
address_components: Array(8)
0:
long_name: "14"
short_name: "14"
types: ["street_number"]
1:
long_name: "Rembrandtplein"
short_name: "Rembrandtplein"
types: ["route"]
2:
long_name: "Amsterdam-Centrum"
short_name: "Amsterdam-Centrum"
types: (3) ["sublocality_level_1", "sublocality", "political"]
3:
long_name: "Amsterdam"
short_name: "Amsterdam"
types: (2) ["locality", "political"]
4:
long_name: "Amsterdam"
short_name: "Amsterdam"
types: (2) ["administrative_area_level_2", "political"]
5:
long_name: "Noord-Holland"
short_name: "NH"
types: (2) ["administrative_area_level_1", "political"]
6:
long_name: "Netherlands"
short_name: "NL"
types: (2) ["country", "political"]
7:
long_name: "1017 CV"
short_name: "1017 CV"
types: ["postal_code"]
length: 8
我需要将locality
,administrative_area_level_1
和country
参数与(regions)
输入中的参数匹配。这给了我Amsterdam
的输出:
address_components: Array(4)
0:
long_name: "Amsterdam"
short_name: "Amsterdam"
types: (2) ["locality", "political"]
1:
long_name: "Government of Amsterdam"
short_name: "Government of Amsterdam"
types: (2) ["administrative_area_level_2", "political"]
2:
long_name: "North Holland"
short_name: "NH"
types: (2) ["administrative_area_level_1", "political"]
3:
long_name: "Netherlands"
short_name: "NL"
types: (2) ["country", "political"]
如您所见,第一个输出 Noord-Holland 作为administrative_area_level_1
组件,第二个给出 North Holland 。
我还尝试将自动完成启动程序的语言参数设置为en
,但还是没有运气。
发起人:
地址输入:
window["autocomplete_" + input.id] = new google.maps.places.Autocomplete( input, {
types: ['address'],
fields: ['address_components', 'types', 'formatted_address', 'place_id'],
language: '<?php echo substr( get_locale ( ), 0, 2 );?>'
});
城市输入:
var autocomplete = new google.maps.places.Autocomplete( input, {
types: ['(regions)'],
fields: ["address_components"],
language: '<?php echo substr( get_locale ( ), 0, 2 );?>'
});
谢谢。