Google地理编码Api返回不一致的数据

时间:2016-03-17 14:13:59

标签: missing-data google-geocoding-api

我正在尝试了解如何从Google Geocoding api获取正确的数据,而我无法理解如何获取正确的数据。

我想在富埃特文图拉岛上找到Costa Calma城 当我用网址查看城市时:https://maps.googleapis.com/maps/api/geocode/json?address=Costa%20Calma,%20Fuerteventura

我收到回复:

{  
"results":[  
    {  
        "address_components":[  
            {  
                "long_name":"Costa Calma",
                "short_name":"Costa Calma",
                "types":[  
                    "locality",
                    "political"
                ]
            },
            {  
                "long_name":"Pájara",
                "short_name":"Pájara",
                "types":[  
                    "administrative_area_level_4",
                    "political"
                ]
            },
            {  
                "long_name":"Jandía",
                "short_name":"Jandía",
                "types":[  
                    "administrative_area_level_3",
                    "political"
                ]
            },
            {  
                "long_name":"Las Palmas",
                "short_name":"Las Palmas",
                "types":[  
                    "administrative_area_level_2",
                    "political"
                ]
            },
            {  
                "long_name":"Canarias",
                "short_name":"CN",
                "types":[  
                    "administrative_area_level_1",
                    "political"
                ]
            },
            {  
                "long_name":"Spain",
                "short_name":"ES",
                "types":[  
                    "country",
                    "political"
                ]
            }
        ],
        "formatted_address":"Costa Calma, Las Palmas, Spain",
        "geometry":{  
            "bounds":{  
                "northeast":{  
                    "lat":28.1747078,
                    "lng":-14.2126396
                },
                "southwest":{  
                    "lat":28.147027,
                    "lng":-14.2368948
                }
            },
            "location":{  
                "lat":28.1585283,
                "lng":-14.2294205
            },
            "location_type":"APPROXIMATE",
            "viewport":{  
                "northeast":{  
                    "lat":28.1747078,
                    "lng":-14.2126396
                },
                "southwest":{  
                    "lat":28.147027,
                    "lng":-14.2368948
                }
            }
        },
        "partial_match":true,
        "place_id":"ChIJ2fWZIEOcRwwRjXhqKnxec8U",
        "types":[  
            "locality",
            "political"
        ]
    }
],
"status":"OK"}

我可以在那个回应中看到Costa Calma位于加那利群岛,但我看不到在哪个岛上,而如果我查找富埃特文图拉,请使用网址:https://maps.googleapis.com/maps/api/geocode/json?address=Fuerteventura,%20Spanien 我得到了回复

{
"results": [{
    "address_components": [{
        "long_name": "Fuerteventura",
        "short_name": "Fuerteventura",
        "types": ["natural_feature", "establishment"]
    }, {
        "long_name": "Spain",
        "short_name": "ES",
        "types": ["country", "political"]
    }],
    "formatted_address": "Fuerteventura, Spain",
    "geometry": {
        "bounds": {
            "northeast": {
                "lat": 28.757003,
                "lng": -13.8224231
            },
            "southwest": {
                "lat": 28.0438891,
                "lng": -14.5101955
            }
        },
        "location": {
            "lat": 28.3982211,
            "lng": -14.0103493
        },
        "location_type": "APPROXIMATE",
        "viewport": {
            "northeast": {
                "lat": 28.757003,
                "lng": -13.8224231
            },
            "southwest": {
                "lat": 28.0438891,
                "lng": -14.5101955
            }
        }
    },
    "place_id": "ChIJgQ_Cr3OkRwwRI3-1tRMcxyo",
    "types": ["natural_feature", "establishment"]
}],
"status": "OK"}

我可以看到富埃特文图拉位于西班牙,但不是在加那利群岛,但是如果我检查坐标,我可以看到坐标在同一个岛上,我该如何解决?

2 个答案:

答案 0 :(得分:0)

Fuerteventura似乎是一个位于Spain加那利群岛之一的岛屿

答案 1 :(得分:0)

富埃特文图拉岛是一个岛屿,虽然它可能也是一个政治分裂,但事实并非如此。这就是为什么你不会在加那利群岛的邮政地址看到富埃特文图拉岛(或任何岛屿名称)。这就是为什么它永远不会出现在任何地理编码结果的onClick中。

我不确定手头的问题是什么,但我可以从第一手经验告诉你,你不应该把“富埃特文图拉”作为地址的一部分。加那利群岛的地址仅使用地区,邮政编码和省份,只有2个省,每个省大约有一半的加那利群岛。

我认为两个省都以每个省的首都命名,这可能会令人困惑:

如果您想获得一般岛屿,请参阅Why is "natural_feature" excluded from Google Maps Geocoding and Places API searches?https://code.google.com/p/gmaps-api-issues/issues/detail?id=4759