行政区域名称与区域和地址不匹配

时间:2019-08-19 09:20:52

标签: javascript google-maps-api-3 googleplacesautocomplete google-maps-autocomplete

我对将城市与地址的城市组成部分进行匹配存在问题。例如,我有一种形式,它返回的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

我需要将localityadministrative_area_level_1country参数与(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 );?>'
});

谢谢。

0 个答案:

没有答案