簡體   English   中英

Google Places API - 地點詳細信息查找中的“place_id”結果不正確

[英]Google Places API - Incorrect 'place_id' results on place details lookup

我一直在尋找可能的解決方案或確認查詢從Google Autocomplete API返回的place_id結果與地點詳細信息服務不一致的問題。

查詢字符串示例 - 44 London Road, Sevenoaks, TN131A

請求自動完成 API:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=44%20London%20Road,%20Sevenoaks,%20TN131A&types=address&components=country:uk&key=KEY

結果:

{
    "predictions": [
        {
            "description": "44 London Road, Sevenoaks TN13 1AS, UK",
            "id": "a68cc04956c7d845e7ecf4310ab7e37c8b1726bc",
            "matched_substrings": [
                {
                    "length": 14,
                    "offset": 0
                },
                {
                    "length": 8,
                    "offset": 26
                }
            ],
            "place_id": "EiY0NCBMb25kb24gUm9hZCwgU2V2ZW5vYWtzIFROMTMgMUFTLCBVSw",
            "reference": "CjQqAAAAO-BUieTtItdrzdJeUH3XgoqPQDQkb8adId4-OgGtQ69p1xImSYbX9cOIutz64vodEhApHwR2GWECK1--3E9m3Jz-GhQQBNtahApp19gUfuIWJLESCavJfw",
            "structured_formatting": {
                "main_text": "44 London Road",
                "main_text_matched_substrings": [
                    {
                        "length": 14,
                        "offset": 0
                    }
                ],
                "secondary_text": "Sevenoaks TN13 1AS, UK",
                "secondary_text_matched_substrings": [
                    {
                        "length": 8,
                        "offset": 10
                    }
                ]
            },
            "terms": [
                {
                    "offset": 0,
                    "value": "44 London Road"
                },
                {
                    "offset": 16,
                    "value": "Sevenoaks"
                },
                {
                    "offset": 26,
                    "value": "TN13 1AS"
                },
                {
                    "offset": 36,
                    "value": "UK"
                }
            ],
            "types": [
                "route",
                "geocode"
            ]
        }
    ],
    "status": "OK"
}

自動完成返回的結果是我所期望的
1) 一個結果
2) 地址描述包含正確的完整地址,郵政編碼為TN13 1AS

現在,當我使用place_id並查詢地點詳細信息時,我希望獲得有關地址的更詳細的詳細信息。 但是,我得到的地址與自動完成中的地址相似,但郵政編碼不同,與原始結果相差甚遠。

請求放置詳細信息 API:

https://maps.googleapis.com/maps/api/place/details/json?placeid=EiY0NCBMb25kb24gUm9hZCwgU2V2ZW5vYWtzIFROMTMgMUFTLCBVSw&key=KEY

結果:

    {
    "html_attributions": [],
    "result": {
        "address_components": [
            {
                "long_name": "44",
                "short_name": "44",
                "types": [
                    "street_number"
                ]
            },
            {
                "long_name": "London Road",
                "short_name": "London Rd",
                "types": [
                    "route"
                ]
            },
            {
                "long_name": "Dunton Green",
                "short_name": "Dunton Green",
                "types": [
                    "locality",
                    "political"
                ]
            },
            {
                "long_name": "Sevenoaks",
                "short_name": "Sevenoaks",
                "types": [
                    "postal_town"
                ]
            },
            {
                "long_name": "Kent",
                "short_name": "Kent",
                "types": [
                    "administrative_area_level_2",
                    "political"
                ]
            },
            {
                "long_name": "England",
                "short_name": "England",
                "types": [
                    "administrative_area_level_1",
                    "political"
                ]
            },
            {
                "long_name": "United Kingdom",
                "short_name": "GB",
                "types": [
                    "country",
                    "political"
                ]
            },
            {
                "long_name": "TN13 2UG",
                "short_name": "TN13 2UG",
                "types": [
                    "postal_code"
                ]
            }
        ],
        "adr_address": "<span class=\"street-address\">44 London Rd</span>, <span class=\"extended-address\">Dunton Green</span>, <span class=\"locality\">Sevenoaks</span> <span class=\"postal-code\">TN13 2UG</span>, <span class=\"country-name\">UK</span>",
        "formatted_address": "44 London Rd, Dunton Green, Sevenoaks TN13 2UG, UK",
        "geometry": {
            "location": {
                "lat": 51.2914523,
                "lng": 0.1679203
            },
            "viewport": {
                "northeast": {
                    "lat": 51.29279178029149,
                    "lng": 0.169216380291502
                },
                "southwest": {
                    "lat": 51.2900938197085,
                    "lng": 0.166518419708498
                }
            }
        },
        "icon": "https://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png",
        "id": "9e62665526d3d76deb1d04b508d3afb273a6415b",
        "name": "44 London Rd",
        "place_id": "ChIJ77ZF32hS30cRvP2Kbxo9Eqc",
        "reference": "CmRbAAAAC1pl4PwpN5mzt1MNHaUsxP9tnaaAEwBtJNi1MasmPV12-itLnnDGk8QMeoKHaeJw1mIfYvO6AWXaIZ94OEGsLAzwuOfNG_8Klza0ScrVe1U9DbOv1RyAyGh2bAQuG03zEhBEfrvBLZjXbIyMJHraFobWGhR1wJVnsIfPIwVhqpj2w2x-NIdCSg",
        "scope": "GOOGLE",
        "types": [
            "street_address"
        ],
        "url": "https://maps.google.com/?q=44+London+Rd,+Dunton+Green,+Sevenoaks+TN13+2UG,+UK&ftid=0x47df5268df45b6ef:0xa7123d1a6f8afdbc",
        "utc_offset": 60,
        "vicinity": "Dunton Green"
    },
    "status": "OK"
}

如您所見,從地點詳細信息返回的郵政編碼是TN13 2UG而不是原始建議地址中的TN13 1AS

此外,建議地址和地點詳細地址之間的區別如下:
自動完成:44 London Road, Sevenoaks TN13 1AS, UK
地點詳情:44 London Rd, Dunton Green, Sevenoaks TN13 2UG, UK

我的問題是 - 在查詢詳細的地點詳細信息時我是否遺漏了什么? 我應該使用不同的方法來查找地址詳細信息嗎?
或者,它可能是一個已知問題,因為所有地點詳細信息都不同步,並且很可能其他搜索結果也是如此。


更新:

這個問題在https://issuetracker.google.com/issues/78900692下有很大的重復標記。
可以在此處看到引用的重復問題: https : //issuetracker.google.com/issues/35823492

長話短說 - 是的,有一個問題。 是的,他們正在努力。 不,沒有預計到達時間。

您在輸入查詢中使用了錯誤的地點 ID。 預計自動完成和地點詳細信息的地點詳細信息結果會有所不同。 在第一次查詢時檢查您的輸入位置后,正確的地點 ID 是:ChIJB5CTmvlN30cR5R2FxZO5_88

查看以下查詢:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=44%20London%20Road,%20Sevenoaks,%20TN131A&types=address&components=country:uk&key=API_KEY

https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJB5CTmvlN30cR5R2FxZO5_88&key=API_KEY

這兩個查詢都返回相同的結果,因為位置和地點 ID 匹配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM