Google Place API提供非英语的结果

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

使用Google Place Details API通过一个地方_id来获取地址.你可以指定语言=en,但例如普吉岛的酒店仍然会返回当地语言的城市和省份。

这是Google Places API的一个示例输出。

[result] => Array
    (
        [address_components] => Array
            (
                [0] => Array
                    (
                        [long_name] => ภูเก็ต
                        [short_name] => จ.ภูเก็ต

Long_name和short_name都在自己的脚本中包含了本地版本。我的用户希望看到该城市名称的国际版本,如 "普吉岛 "示例地方。Phuket Marriott Resort & Spa, Merlin Beach, Pa Tong, Kathu District, Phuket, Thailand。

为什么谷歌不提供英文版本?在他们的谷歌地图上,他们显示的是完整的地址。

他们给出了一个完整的地址在API adr_address,但你将不得不解析,自己相当不可靠。

你也可以使用谷歌翻译的翻译,但将是不可靠的,以及。

api maps google-places-api
1个回答
0
投票

我测试了一下,结果不在里面 "address_components" 你会发现这里的地址。

"formatted_address" : "99 Muen-Ngoen Road Tri-Trang Beach, Patong Patong Phuket, ตำบลป่าตอง อำเภอกะทู้ ภูเก็ต 83150, Thailand"

完整的JSON reuslt。

{
   "html_attributions" : [],
   "result" : {
      "address_components" : [
         {
            "long_name" : "ภูเก็ต",
            "short_name" : "จ.ภูเก็ต",
            "types" : [ "administrative_area_level_1", "political" ]
         },
         {
            "long_name" : "ตำบลป่าตอง",
            "short_name" : "ตำบลป่าตอง",
            "types" : [ "locality", "political" ]
         },
         {
            "long_name" : "อำเภอกะทู้",
            "short_name" : "อำเภอกะทู้",
            "types" : [ "administrative_area_level_2", "political" ]
         },
         {
            "long_name" : "Thailand",
            "short_name" : "TH",
            "types" : [ "country", "political" ]
         },
         {
            "long_name" : "83150",
            "short_name" : "83150",
            "types" : [ "postal_code" ]
         }
      ],
      "adr_address" : "99 Muen-Ngoen Road Tri-Trang Beach, Patong Patong Phuket, \u003cspan class=\"extended-address\"\u003eตำบลป่าตอง\u003c/span\u003e \u003cspan class=\"locality\"\u003eอำเภอกะทู้\u003c/span\u003e \u003cspan class=\"region\"\u003eภูเก็ต\u003c/span\u003e \u003cspan class=\"postal-code\"\u003e83150\u003c/span\u003e, \u003cspan class=\"country-name\"\u003eThailand\u003c/span\u003e",
      "business_status" : "OPERATIONAL",
      "formatted_address" : "99 Muen-Ngoen Road Tri-Trang Beach, Patong Patong Phuket, ตำบลป่าตอง อำเภอกะทู้ ภูเก็ต 83150, Thailand",
      "formatted_phone_number" : "076 335 300",
      "geometry" : {
         "location" : {
            "lat" : 7.883537999999999,
            "lng" : 98.27270779999999
         },
         "viewport" : {
            "northeast" : {
               "lat" : 7.884994980291502,
               "lng" : 98.27402173029151
            },
            "southwest" : {
               "lat" : 7.882297019708498,
               "lng" : 98.27132376970849
            }
         }
      },
      "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/lodging-71.png",
      "id" : "47f504a09fb6891f688957af609c39a4064b150e",
      "international_phone_number" : "+66 76 335 300",
      "name" : "Phuket Marriott Resort & Spa, Merlin Beach",
      "opening_hours" : {
         "open_now" : true,
         "periods" : [
            {
               "open" : {
                  "day" : 0,
                  "time" : "0000"
               }
            }
         ],
         "weekday_text" : [
            "Monday: Open 24 hours",
            "Tuesday: Open 24 hours",
            "Wednesday: Open 24 hours",
            "Thursday: Open 24 hours",
            "Friday: Open 24 hours",
            "Saturday: Open 24 hours",
            "Sunday: Open 24 hours"
         ]
      },
© www.soinside.com 2019 - 2024. All rights reserved.