如何检查Google Maps API区域内的地址

问题描述 投票:4回答:1

我有一个地址字符串,例如“新西兰旺加努伊,贡维尔,12 Swiss Ave”

鉴于此地址,如果该地址在新西兰的北岛或南岛之内,我需要计算出来。

如果我将地址传递给google maps api,我得到的数据将在下面,虽然它没有告诉我它在哪个岛上,但是不幸的是,我该如何检查呢?

{
    "results": [
        {
            "address_components": [
                {
                    "long_name": "12",
                    "short_name": "12",
                    "types": [
                        "street_number"
                    ]
                },
                {
                    "long_name": "Swiss Avenue",
                    "short_name": "Swiss Ave",
                    "types": [
                        "route"
                    ]
                },
                {
                    "long_name": "Gonville",
                    "short_name": "Gonville",
                    "types": [
                        "sublocality",
                        "political"
                    ]
                },
                {
                    "long_name": "Wanganui",
                    "short_name": "Wanganui",
                    "types": [
                        "locality",
                        "political"
                    ]
                },
                {
                    "long_name": "Manawatu-Wanganui",
                    "short_name": "Manawatu-Wanganui",
                    "types": [
                        "administrative_area_level_1",
                        "political"
                    ]
                },
                {
                    "long_name": "New Zealand",
                    "short_name": "NZ",
                    "types": [
                        "country",
                        "political"
                    ]
                },
                {
                    "long_name": "4501",
                    "short_name": "4501",
                    "types": [
                        "postal_code"
                    ]
                }
            ],
            "formatted_address": "12 Swiss Avenue, Gonville, Wanganui 4501, New Zealand",
            "geometry": {
                "location": {
                    "lat": -39.9444245,
                    "lng": 175.0239575
                },
                "location_type": "ROOFTOP",
                "viewport": {
                    "northeast": {
                        "lat": -39.9430755197085,
                        "lng": 175.0253064802915
                    },
                    "southwest": {
                        "lat": -39.9457734802915,
                        "lng": 175.0226085197085
                    }
                }
            },
            "types": [
                "street_address"
            ]
        }
    ],
    "status": "OK"
}
php google-maps-api-3 region
1个回答
3
投票

一种选择是获取两个岛的多边形,并在地理位置上进行多边形分析。

[Example using Polygons defined by KMLgeoxml3

[Proof of concept(使用geoxml3和来自gadm.org的经过修改的KML)]

============使用融合表的旧选项,不再起作用=============

Example using FusionTablesnote:不再起作用,Fusion Layers在2019年12月被拒绝)]

Proof of concept(使用Fusion Tables中的自然地球数据集和“州到岛”地图)(注意:也不再起作用)

© www.soinside.com 2019 - 2024. All rights reserved.