Tự động hoàn thành (Mới)

Dịch vụ Tự động hoàn thành (Mới) là một dịch vụ web trả về các dự đoán về địa điểm và các dự đoán truy vấn để phản hồi một yêu cầu HTTP. Trong yêu cầu, hãy chỉ định một chuỗi tìm kiếm bằng văn bản và các giới hạn địa lý kiểm soát khu vực tìm kiếm.

Dịch vụ Tự động hoàn thành (Mới) có thể so khớp với các từ và chuỗi con đầy đủ của nội dung nhập vào, cũng như phân giải tên địa điểm, địa chỉ và mã cộng. Do đó, các ứng dụng có thể gửi truy vấn khi người dùng nhập để cung cấp địa điểm nhanh chóng và truy vấn dự đoán.

Phản hồi từ API Tự động hoàn thành (Mới) có thể chứa hai loại thông tin dự đoán:

  • Gợi ý về địa điểm: Các địa điểm, chẳng hạn như doanh nghiệp, địa chỉ và địa điểm yêu thích, dựa trên chuỗi văn bản nhập vào và khu vực tìm kiếm được chỉ định. Các thông tin dự đoán về địa điểm được trả về theo mặc định.
  • Cụm từ tìm kiếm gợi ý: Những chuỗi truy vấn khớp với chuỗi văn bản nhập vào và khu vực tìm kiếm. Theo mặc định, các dự đoán truy vấn không được trả về. Sử dụng tham số yêu cầu includeQueryPredictions để thêm các nội dung dự đoán truy vấn vào phản hồi.

Ví dụ: bạn gọi API bằng cách sử dụng dữ liệu đầu vào là một chuỗi có chứa một phần dữ liệu đầu vào của người dùng, "Sicilian piz", với khu vực tìm kiếm giới hạn ở San Francisco, CA. Sau đó, phản hồi sẽ chứa danh sách đề xuất địa điểm khớp với chuỗi tìm kiếm và khu vực tìm kiếm, chẳng hạn như nhà hàng có tên "Sicilian Pizza Kitchen", cùng với thông tin chi tiết về địa điểm.

Các thông tin dự đoán về địa điểm được trả về được thiết kế để hiển thị với người dùng nhằm hỗ trợ họ chọn địa điểm mong muốn. Bạn có thể đưa ra yêu cầu Thông tin chi tiết về địa điểm (Mới) để biết thêm thông tin về bất kỳ thông tin dự đoán nào về địa điểm được trả về.

Câu trả lời cũng có thể chứa danh sách cụm từ gợi ý cụm từ tìm kiếm khớp với chuỗi tìm kiếm và khu vực tìm kiếm, chẳng hạn như "Sicilian Pizza & Mì ống". Mỗi thông tin dự đoán cụm từ tìm kiếm trong phản hồi sẽ bao gồm trường text chứa chuỗi tìm kiếm dạng văn bản đề xuất. Sử dụng chuỗi đó làm dữ liệu đầu vào cho Tìm kiếm văn bản (Mới) để thực hiện tìm kiếm chi tiết hơn.

Yêu cầu tự động hoàn thành (Mới)

Yêu cầu Tự động hoàn thành (Mới) là một yêu cầu POST qua HTTP gửi đến một URL có dạng:

https://places.googleapis.com/v1/places:autocomplete

Truyền tất cả tham số trong nội dung yêu cầu JSON hoặc trong tiêu đề như một phần của yêu cầu POST. Ví dụ:

curl -X POST -d '{
  "input": "pizza",
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965
      },
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Đưa ra yêu cầu bằng tính năng Tự động hoàn thành (Mới)

API Địa điểm hỗ trợ các API Tự động hoàn thànhTự động hoàn thành truy vấn hiện có. Nếu bạn đã quen thuộc với các API này, thì phiên bản Xem trước của tính năng Tự động hoàn thành (Mới) sẽ thực hiện các thay đổi sau:

  • Tính năng Tự động hoàn thành mới sử dụng các yêu cầu POST qua HTTP. Truyền các tham số trong nội dung yêu cầu hoặc trong tiêu đề như một phần của yêu cầu POST qua HTTP. Ngược lại, với các API hiện có, bạn sẽ truyền các tham số URL bằng cách sử dụng yêu cầu HTTP GET.
  • Tính năng Tự động hoàn thành mới hỗ trợ cả khoá API và mã thông báo OAuth làm cơ chế xác thực.
  • Chỉ JSON được hỗ trợ làm định dạng phản hồi trong tính năng Tự động hoàn thành mới.

Bảng sau đây liệt kê các tham số trong API Tự động hoàn thành và Tự động hoàn thành truy vấn hiện có đã được đổi tên hoặc sửa đổi cho tính năng Tự động hoàn thành mới, hoặc các tham số không còn được hỗ trợ.

Thông số hiện tại Thông số mới Ghi chú
components includedRegionCodes
language languageCode
location locationBias
ipbias Nếu bạn bỏ qua cả locationBiaslocationRestriction, thì API sẽ sử dụng xu hướng IP theo mặc định.
offset inputOffset
radius locationBias hoặc locationRestriction
region regionCode
stricbounds locationRestriction
sessiontoken sessionToken
types includedPrimaryTypes

Hạn mức sử dụng

Trong Bản dùng thử, bạn chỉ được thực hiện tối đa 600 truy vấn mỗi phút cho mỗi dự án.

Tuỳ chọn hỗ trợ cho Bản phát hành dùng thử

Mặc dù Google không có nghĩa vụ hỗ trợ các phiên bản Bản dùng thử, tính năng hoặc chức năng của Dịch vụ, nhưng chúng tôi sẽ xem xét các yêu cầu ở giai đoạn phát triển này theo từng trường hợp.

  • Các phiên bản phát hành trước không thuộc phạm vi điều chỉnh của SLA của Nền tảng Google Maps.
  • Bạn nên sử dụng cơ chế dự phòng, đặc biệt là khi đang dùng phiên bản phát hành trước trong môi trường phát hành chính thức. Một số ví dụ về tình huống dự phòng là: vượt quá hạn mức, độ trễ và mã phản hồi không mong muốn, hoặc phản hồi không mong muốn khi so sánh với tính năng Tự động hoàn thành hiện tại.

Bạn có thể sử dụng công cụ theo dõi lỗi để yêu cầu tính năng mới hoặc đề xuất sửa đổi đối với các tính năng hiện có. Vui lòng mô tả chức năng cụ thể mà bạn muốn thấy được thêm, cũng như lý do khiến bạn cho rằng chức năng đó quan trọng. Nếu có thể, hãy cung cấp thông tin cụ thể về trường hợp sử dụng của bạn và những cơ hội mới mà tính năng này sẽ cho phép:

Đối với bất kỳ câu hỏi nào khác về các đối tượng, vui lòng gửi email đến địa chỉ newplaceapi@google.com.

Thông tin về câu trả lời

Tính năng Tự động hoàn thành (Mới) trả về một đối tượng JSON dưới dạng phản hồi. Trong câu trả lời:

  • Mảng suggestions chứa tất cả các địa điểm và cụm từ tìm kiếm được dự đoán theo thứ tự dựa trên mức độ liên quan cảm nhận được. Mỗi địa điểm được biểu thị bằng một trường placePrediction và mỗi truy vấn được biểu thị bằng một trường queryPrediction.
  • Trường placePrediction chứa thông tin chi tiết về một thông tin dự đoán địa điểm, bao gồm cả mã địa điểm và nội dung mô tả bằng văn bản.
  • Trường queryPrediction chứa thông tin chi tiết về một nội dung dự đoán truy vấn.

Đối tượng JSON hoàn chỉnh có dạng:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }]
        },
      ...
    },
    {
      "queryPrediction": {
        "text": {
          "text": "Amoeba Music",
          "matches": [
            {
              "endOffset": 6
            }]
        },
        ...
    }
  ...]
}

Thông số bắt buộc

  • input

    Chuỗi văn bản cần tìm kiếm. Hãy chỉ định các từ đầy đủ và chuỗi con, tên địa điểm, địa chỉ và mã cộng. Dịch vụ Tự động hoàn thành (Mới) sẽ trả về các kết quả khớp với đề xuất dựa trên chuỗi này và kết quả sắp xếp dựa trên mức độ liên quan cảm nhận được.

Thông số tùy chọn

  • includedPrimaryTypes

    Một địa điểm chỉ có thể có một loại chính trong số các loại Bảng A hoặc Bảng B được liên kết với địa điểm đó. Ví dụ: loại chính có thể là "mexican_restaurant" hoặc "steak_house".

    Theo mặc định, API trả về tất cả địa điểm dựa trên tham số input, bất kể giá trị loại chính liên kết với địa điểm là gì. Hạn chế các kết quả thuộc loại chính hoặc loại chính nhất định bằng cách truyền tham số includedPrimaryTypes.

    Hãy sử dụng tham số này để chỉ định tối đa 5 giá trị loại từ Bảng A hoặc Bảng B. Địa điểm phải khớp với một trong các giá trị loại chính đã chỉ định để được đưa vào phản hồi.

    Yêu cầu sẽ bị từ chối với lỗi INVALID_REQUEST nếu:

    • Đã chỉ định nhiều hơn 5 loại.
    • Chỉ định mọi loại không nhận dạng được.
  • includeQueryPredictions

    Nếu là true, câu trả lời sẽ bao gồm cả thông tin dự đoán về địa điểm và cụm từ tìm kiếm. Giá trị mặc định là false, nghĩa là câu trả lời chỉ bao gồm các thông tin dự đoán về địa điểm.

  • includedRegionCodes

    Chỉ cung cấp kết quả từ danh sách các khu vực đã chỉ định, được chỉ định dưới dạng một mảng gồm tối đa 15 ccTLD ("miền cấp cao nhất") giá trị gồm hai ký tự. Nếu bạn bỏ qua thì sẽ không có mức hạn chế nào được áp dụng cho phản hồi. Ví dụ: để giới hạn khu vực ở Đức và Pháp:

        "includedRegionCodes": ["de", "fr"]

    Nếu bạn chỉ định cả locationRestrictionincludedRegionCodes, thì kết quả sẽ nằm trong khu vực giao nhau của 2 chế độ cài đặt.

  • inputOffset

    Độ lệch ký tự Unicode dựa trên 0 cho biết vị trí con trỏ trong input. Vị trí con trỏ có thể ảnh hưởng đến những truy vấn dự đoán được trả về. Nếu trống, giá trị này sẽ mặc định có độ dài là input.

  • languageCode

    Ngôn ngữ ưu tiên để trả về kết quả. Kết quả có thể sẽ ở nhiều ngôn ngữ hỗn hợp nếu ngôn ngữ dùng trong input khác với giá trị do languageCode chỉ định, hoặc nếu địa điểm được trả về không có bản dịch từ ngôn ngữ địa phương sang languageCode.

    • Bạn phải sử dụng mã ngôn ngữ IETF BCP-47 để chỉ định ngôn ngữ ưu tiên.
    • Nếu languageCode không được cung cấp, API sẽ sử dụng giá trị được chỉ định trong tiêu đề Accept-Language. Nếu bạn không chỉ định giá trị nào, giá trị mặc định sẽ là en. Nếu bạn chỉ định mã ngôn ngữ không hợp lệ, API sẽ trả về lỗi INVALID_ARGUMENT.
    • Ngôn ngữ ưu tiên có ảnh hưởng nhỏ đến tập hợp kết quả mà API chọn để trả về, cũng như thứ tự mà các kết quả được trả về. Điều này cũng ảnh hưởng đến khả năng sửa lỗi chính tả của API.
    • API này cố gắng cung cấp một địa chỉ đường phố mà cả người dùng và người dân địa phương đều có thể đọc được, đồng thời phản ánh thông tin mà người dùng nhập. Thông tin dự đoán địa điểm được định dạng khác nhau tuỳ thuộc vào hoạt động đầu vào của người dùng trong mỗi yêu cầu.
      • Các cụm từ khớp trong thông số input được chọn trước. Tên tương ứng với ngôn ngữ ưu tiên mà tham số languageCode biểu thị (nếu có), đồng thời sử dụng tên phù hợp nhất với thông tin mà người dùng nhập.
      • Địa chỉ đường phố được định dạng bằng ngôn ngữ địa phương (một tập lệnh mà người dùng có thể đọc được khi có thể), chỉ sau khi hệ thống đã chọn các cụm từ trùng khớp để khớp với các từ khoá trong tham số input.
      • Tất cả các địa chỉ khác sẽ được trả về bằng ngôn ngữ ưu tiên, sau khi các cụm từ trùng khớp được chọn để khớp với các cụm từ trong tham số input. Nếu tên không có sẵn bằng ngôn ngữ ưu tiên, thì API sẽ sử dụng kết quả khớp nhất.
  • locationBias hoặc locationRestriction

    Bạn có thể chỉ định locationBias hoặc locationRestriction, nhưng không thể chỉ định cả hai, để xác định khu vực tìm kiếm. Hãy xem locationRestriction là chỉ định khu vực chứa kết quả và locationBias là khu vực chỉ định kết quả ở gần nhưng có thể nằm ngoài khu vực đó.

    • locationBias

      Chỉ định một khu vực để tìm kiếm. Vị trí này đóng vai trò là một độ chệch nghĩa là có thể trả về các kết quả xung quanh vị trí đã chỉ định, bao gồm cả những kết quả nằm ngoài khu vực cụ thể đó.

    • locationRestriction

      Chỉ định một khu vực để tìm kiếm. Kết quả nằm ngoài khu vực đã chỉ định sẽ không được trả về.

    Hãy chỉ định khu vực locationBias hoặc locationRestriction dưới dạng Khung nhìn hình chữ nhật hoặc dưới dạng vòng tròn.

    • Một đường tròn được xác định bởi điểm ở giữa và bán kính tính bằng mét. Bán kính phải nằm trong khoảng từ 0 đến 50000. Giá trị mặc định là 0,0. Đối với locationRestriction, bạn phải đặt bán kính thành một giá trị lớn hơn 0. Ngược lại, yêu cầu này không trả về kết quả nào.

      Ví dụ:

      "locationBias": {
        "circle": {
          "center": {
            "latitude": 37.7937,
            "longitude": -122.3965
          },
          "radius": 500.0
        }
      }
    • Hình chữ nhật là một khung nhìn kinh độ vĩ độ, được thể hiện dưới dạng hai đường chéo đối diện low và điểm cao. Khung nhìn được coi là một khu vực khép kín, có nghĩa là khung nhìn bao gồm ranh giới của khu vực đó. Giới hạn vĩ độ phải nằm trong khoảng từ -90 đến 90 độ và giới hạn kinh độ phải nằm trong khoảng từ -180 đến 180 độ:

      • Nếu low = high, khung nhìn bao gồm một điểm duy nhất đó.
      • Nếu low.longitude > high.longitude, thì phạm vi kinh độ sẽ bị đảo ngược (khung nhìn vượt qua đường kinh độ 180 độ).
      • Nếu low.longitude = -180 độ và high.longitude = 180 độ, thì khung nhìn sẽ bao gồm tất cả các kinh độ.
      • Nếu low.longitude = 180 độ và high.longitude = -180 độ, phạm vi kinh độ sẽ trống.

      Bạn phải điền cả lowhigh và không được để trống hộp được đại diện. Khung nhìn trống dẫn đến lỗi.

      Ví dụ: khung nhìn này bao quanh đầy đủ Thành phố New York:

      "locationBias": {
        "rectangle": {
          "low": {
            "latitude": 40.477398,
            "longitude": -74.259087
          },
          "high": {
            "latitude": 40.91618,
            "longitude": -73.70018
          }
        }
      }
  • nguồn gốc

    Điểm gốc để tính khoảng cách theo đường thẳng đến đích đến (được trả về là distanceMeters). Nếu giá trị này bị bỏ qua, thì khoảng cách theo đường thẳng sẽ không được trả về. Phải được chỉ định dưới dạng vĩ độ và kinh độ:

    "origin": {
        "latitude": 40.477398,
        "longitude": -74.259087
    }
  • regionCode

    Mã vùng dùng để định dạng phản hồi, được chỉ định dưới dạng giá trị gồm hai ký tự ccTLD ("miền cấp cao nhất"). Hầu hết các mã ccTLD (miền cấp cao nhất theo mã quốc gia) đều giống với mã ISO 3166-1, trừ một số trường hợp ngoại lệ đáng chú ý. Ví dụ: ccTLD (miền cấp cao nhất theo mã quốc gia) của Vương quốc Anh là "uk" (.co.uk) trong khi mã ISO 3166-1 là "gb" (về mặt kỹ thuật, là pháp nhân của "Vương quốc Anh và Bắc Ireland").

    Nếu bạn chỉ định mã vùng không hợp lệ, API sẽ trả về lỗi INVALID_ARGUMENT. Tham số này có thể ảnh hưởng đến kết quả dựa trên luật hiện hành.

  • sessionToken

    Mã thông báo phiên là các chuỗi do người dùng tạo, theo dõi các lệnh gọi Tự động hoàn thành (Mới) dưới dạng "phiên hoạt động". Tính năng Tự động hoàn thành (Mới) sử dụng mã thông báo phiên để nhóm các giai đoạn truy vấn và lựa chọn của nội dung tìm kiếm tự động hoàn thành của người dùng thành một phiên riêng biệt cho mục đích thanh toán. Để biết thêm thông tin, hãy xem bài viết Mã thông báo phiên.

Ví dụ về tính năng Tự động hoàn thành (Mới)

Sử dụng locationRestriction và locationBias

Theo mặc định, API sử dụng xu hướng IP để kiểm soát khu vực tìm kiếm. Với xu hướng IP, API sẽ sử dụng địa chỉ IP của thiết bị để lệch kết quả. Bạn có thể tuỳ ý sử dụng locationRestriction hoặc locationBias, nhưng không thể sử dụng cả hai, để chỉ định một khu vực cần tìm kiếm.

locationRestriction chỉ định vùng cần tìm kiếm. Kết quả nằm ngoài khu vực đã chỉ định sẽ không được trả về. Trong ví dụ sau, bạn sử dụng locationRestriction để giới hạn yêu cầu ở một vòng tròn có bán kính 5.000 mét ở giữa San Francisco:

curl -X POST -d '{
  "input": "Amoeba",
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Tất cả kết quả trong những vùng được chỉ định đều nằm trong mảng suggestions:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "home_goods_store",
          "establishment",
          "store",
          "point_of_interest",
          "electronics_store"
        ]
      }
    }
  ]
}

Với locationBias, vị trí đóng vai trò là một độ lệch có nghĩa là có thể trả về các kết quả xung quanh vị trí đã chỉ định, bao gồm cả các kết quả nằm ngoài khu vực đã chỉ định. Trong ví dụ tiếp theo, bạn thay đổi yêu cầu sử dụng locationBias:

curl -X POST -d '{
  "input": "Amoeba",
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Kết quả hiện chứa nhiều mục khác, kể cả các kết quả nằm ngoài bán kính 5.000 mét:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "electronics_store",
          "point_of_interest",
          "store",
          "establishment",
          "home_goods_store"
        ]
      }
    },
    {
      "placePrediction": {
        "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw",
        "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw",
        "text": {
          "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Telegraph Avenue, Berkeley, CA, USA"
          }
        },
        "types": [
          "electronics_store",
          "point_of_interest",
          "establishment",
          "home_goods_store",
          "store"
        ]
      }
    },
    ...
  ]
}

Sử dụng includePrimaryTypes

Sử dụng tham số includedPrimaryTypes để hạn chế kết quả từ một yêu cầu thuộc một loại nhất định như liệt kê trong Bảng ABảng B. Bạn có thể chỉ định một mảng gồm tối đa 5 giá trị. Nếu bỏ qua thì tất cả các loại sẽ được trả về.

Trong ví dụ sau, bạn chỉ định chuỗi input là "Bóng đá" và sử dụng tham số includedPrimaryTypes để giới hạn kết quả cho các cơ sở thuộc loại "sporting_goods_store":

curl -X POST -d '{
  "input": "Soccer",
  "includedPrimaryTypes": ["sporting_goods_store"],
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Nếu bạn bỏ qua tham số includedPrimaryTypes, thì kết quả có thể bao gồm cả các thiết lập thuộc loại mà bạn không muốn, chẳng hạn như "athletic_field".

Yêu cầu gợi ý truy vấn

Theo mặc định, các dự đoán truy vấn không được trả về. Sử dụng tham số yêu cầu includeQueryPredictions để thêm các nội dung dự đoán truy vấn vào phản hồi. Ví dụ:

curl -X POST -d '{
  "input": "Amoeba",
  "includeQueryPredictions": true,
  "locationBias": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Mảng suggestions hiện chứa cả thông tin dự đoán về địa điểm và thông tin dự đoán truy vấn như minh hoạ trong phần Giới thiệu về câu trả lời ở trên. Mỗi thông tin dự đoán cụm từ tìm kiếm đều bao gồm trường text chứa chuỗi tìm kiếm dạng văn bản đề xuất. Bạn có thể đưa ra yêu cầu Tìm kiếm văn bản (Mới) để biết thêm thông tin về bất kỳ truy vấn dự đoán nào được trả về.

Sử dụng nguồn gốc

Trong ví dụ này, hãy thêm origin vào yêu cầu dưới dạng toạ độ (vĩ độ và kinh độ). Khi bạn đưa origin, API sẽ đưa trường distanceMeters vào phản hồi chứa khoảng cách theo đường thẳng từ origin đến đích đến. Ví dụ sau đặt điểm khởi hành là trung tâm San Francisco:

curl -X POST -d '{
  "input": "Amoeba",
  "origin": {
    "latitude": 37.7749,
    "longitude": -122.4194
  },
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7749,
        "longitude": -122.4194
      },
      "radius": 5000.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete

Phản hồi hiện bao gồm distanceMeters:

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
        "text": {
          "text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
          "matches": [
            {
              "endOffset": 6
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Amoeba Music",
            "matches": [
              {
                "endOffset": 6
              }
            ]
          },
          "secondaryText": {
            "text": "Haight Street, San Francisco, CA, USA"
          }
        },
        "types": [
          "home_goods_store",
          "establishment",
          "point_of_interest",
          "store",
          "electronics_store"
        ],
        "distanceMeters": 3012
      }
    }
  ]
}