รายละเอียดสถานที่ (ใหม่)

เลือกแพลตฟอร์ม: Android iOS JavaScript บริการเว็บ

Places SDK สำหรับ iOS (ใหม่) จะให้ข้อมูลที่สมบูรณ์เกี่ยวกับสถานที่ ได้แก่ ชื่อและที่อยู่ของสถานที่ ตำแหน่งทางภูมิศาสตร์ที่ระบุเป็นพิกัดละติจูด/ลองจิจูด ประเภทสถานที่ (เช่น ไนท์คลับ ร้านสัตว์เลี้ยง พิพิธภัณฑ์) และอื่นๆ หากต้องการเข้าถึงข้อมูลนี้สำหรับสถานที่หนึ่งๆ คุณสามารถใช้รหัสสถานที่ซึ่งเป็นตัวระบุที่เสถียรของสถานที่นั้นๆ

ขอรายละเอียดสถานที่

โดยคลาส GMSPlace นี้มีข้อมูลเกี่ยวกับสถานที่หนึ่งๆ รวมถึงช่องข้อมูลทั้งหมดที่แสดงในช่องข้อมูลสถานที่ (ใหม่) รับออบเจ็กต์ GMSPlace โดยการเรียกใช้ GMSPlacesClient fetchPlaceWithRequest: ส่งผ่านออบเจ็กต์ GMSFetchPlaceRequest และวิธี เรียกกลับของประเภท GMSPlaceResultCallback

ออบเจ็กต์ GMSFetchPlaceRequest ระบุข้อมูลต่อไปนี้

  • (ต้องระบุ) รหัสสถานที่ ซึ่งเป็นตัวระบุที่ไม่ซ้ำกันของสถานที่ในฐานข้อมูลของ Google Places และใน Google Maps
  • (ต้องระบุ) รายการช่องที่จะแสดงผลในออบเจ็กต์ GMSPlace หรือที่เรียกว่าฟิลด์มาสก์ ตามที่กำหนดโดย GMSPlaceProperty หากคุณไม่ระบุอย่างน้อย 1 ช่องในรายการช่อง หรือหากคุณไม่ระบุรายการช่อง การเรียกจะแสดงผลข้อผิดพลาด
  • (ไม่บังคับ) รหัสภูมิภาคที่ใช้จัดรูปแบบการตอบกลับ
  • (ไม่บังคับ) โทเค็นของเซสชันที่ใช้ในการสิ้นสุดเซสชันการเติมข้อความอัตโนมัติ (ใหม่)

สร้างคำขอรายละเอียดสถานที่

ตัวอย่างนี้รับข้อมูลสถานที่ตามรหัส และส่งพารามิเตอร์ต่อไปนี้

  • รหัสสถานที่ของ ChIJV4k8_9UodTERU5KXbkYpSYs
  • รายการช่องที่ระบุให้แสดงผลชื่อสถานที่และ URL ของเว็บไซต์
  • GMSPlaceResultCallback สำหรับจัดการผลลัพธ์

API จะเรียกใช้เมธอดโค้ดเรียกกลับที่ระบุ โดยส่งผ่านออบเจ็กต์ GMSPlace หากไม่พบสถานที่ ออบเจ็กต์สถานที่จะเป็น nil

Swift

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Specify the place data types to return.
let myProperties = [GMSPlaceProperty.name, GMSPlaceProperty.website].map {$0.rawValue}

// Create the GMSFetchPlaceRequest object.
let fetchPlaceRequest = GMSFetchPlaceRequest(placeID: placeID, placeProperties: myProperties, sessionToken: nil)

client.fetchPlace(with: fetchPlaceRequest, callback: {
  (place: GMSPlace?, error: Error?) in
  guard let place, error == nil else { return }
  print("Place found: \(String(describing: place.name))")
})

Objective-C

// A hotel in Saigon with an attribution.
NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

// Specify the place data types to return.
NSArray<NSString *> *myProperties = @[GMSPlacePropertyName, GMSPlacePropertyWebsite];

// Create the GMSFetchPlaceRequest object.
GMSFetchPlaceRequest *fetchPlaceRequest = [[GMSFetchPlaceRequest alloc] initWithPlaceID:placeID placeProperties: myProperties sessionToken:nil];

[placesClient fetchPlaceWithRequest: fetchPlaceRequest callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) {
    if (error != nil) {
      NSLog(@"An error occurred %@", [error localizedDescription]);
      return;
    } else {
    NSLog(@"Place Found: %@", place.name);
    NSLog(@"The place URL: %@", place.website);
  }
}];

GooglePlacesSwift

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"
let fetchPlaceRequest = FetchPlaceRequest(
  placeID: placeID,
  placeProperties: [.name, .website]
)
switch await placesClient.fetchPlace(with: fetchPlaceRequest) {
case .success(let place):
  // Handle place
case .failure(let placesError):
  // Handle error
}

คำตอบสำหรับรายละเอียดสถานที่

รายละเอียดสถานที่จะแสดงออบเจ็กต์ GMSPlace ที่มีรายละเอียดเกี่ยวกับสถานที่ ระบบจะป้อนข้อมูลเฉพาะช่องที่ระบุไว้ในรายการช่องในออบเจ็กต์ GMSPlace

นอกจากช่องข้อมูลแล้ว ออบเจ็กต์ GMSPlace ในการตอบสนองจะมีฟังก์ชันสมาชิกต่อไปนี้

  • isOpen จะคำนวณว่าสถานที่เปิดในเวลาที่ระบุหรือไม่
  • isOpenAtDate คำนวณว่าสถานที่เปิดในวันที่ระบุหรือไม่

พารามิเตอร์ที่จำเป็น

ใช้ออบเจ็กต์ GMSFetchPlaceRequest เพื่อระบุพารามิเตอร์ที่จำเป็น

รหัสสถานที่

รหัสสถานที่ที่ใช้ใน Places SDK สำหรับ iOS เป็นตัวระบุเดียวกับที่ใช้ใน Places API, Places SDK สำหรับ Android และ API อื่นๆ ของ Google รหัสสถานที่แต่ละรหัสอ้างอิงถึงสถานที่ได้เพียงรายการเดียว แต่สถานที่ 1 แห่งจะมีรหัสสถานที่ได้มากกว่า 1 รหัส

มีบางกรณีที่อาจทำให้สถานที่ได้รับรหัสสถานที่ใหม่ เช่น กรณีนี้อาจเกิดขึ้นหากธุรกิจย้ายไปยังสถานที่ตั้งใหม่

เมื่อคุณขอสถานที่โดยระบุรหัสสถานที่ คุณจะมั่นใจได้ว่าจะได้รับสถานที่เดิมในคำตอบเสมอ (หากสถานที่ยังคงอยู่) อย่างไรก็ตาม โปรดทราบว่าการตอบกลับอาจมีรหัสสถานที่ที่ต่างจากในคำขอของคุณ

รายการช่อง

เมื่อขอรายละเอียดสถานที่ คุณต้องระบุข้อมูลที่จะแสดงผลในออบเจ็กต์ GMSPlace สำหรับสถานที่นั้นเป็นฟิลด์มาสก์ หากต้องการกำหนดฟิลด์มาสก์ ให้ส่งอาร์เรย์ของค่าจาก GMSPlaceProperty ไปยังออบเจ็กต์ GMSFetchPlaceRequest การมาสก์ฟิลด์เป็นแนวทางปฏิบัติในการออกแบบที่ดีเพื่อให้คุณไม่ขอข้อมูลที่ไม่จำเป็น ซึ่งจะช่วยหลีกเลี่ยงเวลาในการประมวลผลและการเรียกเก็บเงินที่ไม่จําเป็น

ระบุช่องต่อไปนี้อย่างน้อย 1 ช่อง

ตัวอย่างต่อไปนี้ส่งรายการค่าของช่อง 2 รายการเพื่อระบุว่าออบเจ็กต์ GMSPlace ที่แสดงโดยคำขอมีช่อง name และ placeID

Swift

// Specify the place data types to return.
let fields: [GMSPlaceProperty] = [.placeID, .name]
  

Objective-C

// Specify the place data types to return.
NSArray<GMSPlaceProperty *> *fields = @[GMSPlacePropertyPlaceID, GMSPlacePropertyName];
  

GooglePlacesSwift

// Specify the place data types to return.
let fields: [PlaceProperty] = [.placeID, .displayName]
    

พารามิเตอร์ที่ไม่บังคับ

ใช้ออบเจ็กต์ GMSFetchPlaceRequest เพื่อระบุพารามิเตอร์ที่ไม่บังคับ

regionCode

รหัสภูมิภาคที่ใช้ในการจัดรูปแบบการตอบกลับ ซึ่งระบุเป็นค่า รหัส CLDR ที่มี 2 อักขระ พารามิเตอร์นี้อาจทำให้เกิดการให้น้ำหนักพิเศษ กับผลการค้นหาได้เช่นกัน ไม่มีค่าเริ่มต้น

หากชื่อประเทศของช่องที่อยู่ในคำตอบตรงกับรหัสภูมิภาค รหัสประเทศจะไม่แสดงในที่อยู่

รหัส CLDR ส่วนใหญ่เหมือนกับรหัส ISO 3166-1 แต่มีข้อยกเว้นบางประการ ตัวอย่างเช่น ccTLD ของสหราชอาณาจักรคือ "uk" (.co.uk) ในขณะที่รหัส ISO 3166-1 คือ "gb" (ในทางเทคนิคแล้วสำหรับเอนทิตี "สหราชอาณาจักรบริเตนใหญ่และไอร์แลนด์เหนือ") พารามิเตอร์นี้อาจส่งผลต่อผลลัพธ์ตามกฎหมายที่เกี่ยวข้อง

sessionToken

โทเค็นเซสชันเป็นสตริงที่ผู้ใช้สร้างขึ้นซึ่งติดตามการเรียกการเติมข้อความอัตโนมัติ (ใหม่) เป็น "เซสชัน" การเติมข้อความอัตโนมัติ (ใหม่) ใช้โทเค็นเซสชันเพื่อจัดกลุ่มข้อความค้นหาและตำแหน่งที่เลือกของการค้นหาแบบเติมข้อความอัตโนมัติของผู้ใช้เป็นเซสชันที่แยกกันเพื่อใช้ในการเรียกเก็บเงิน โทเค็นของเซสชันจะส่งผ่านไปยังการเรียกรายละเอียดสถานที่ (ใหม่) ที่ตามมาจากการเรียกการเติมข้อความอัตโนมัติ (ใหม่) ดูข้อมูลเพิ่มเติมได้ที่โทเค็นของเซสชัน

แสดงการระบุแหล่งที่มาในแอปของคุณ

เมื่อแอปแสดงข้อมูลที่ได้จาก GMSPlacesClient เช่น รูปภาพและรีวิว แอปต้องแสดงที่มาที่จำเป็นด้วย

ตัวอย่างเช่น พร็อพเพอร์ตี้ reviews ของออบเจ็กต์ GMSPlacesClient มีอาร์เรย์ของออบเจ็กต์ GMSPlaceReview สูงสุด 5 รายการ ออบเจ็กต์ GMSPlaceReview แต่ละรายการอาจมีการระบุแหล่งที่มาและการระบุแหล่งที่มาผู้เขียน หากแสดงรีวิวในแอป คุณก็ต้องแสดงการระบุแหล่งที่มาหรือการระบุแหล่งที่มาของผู้เขียนด้วย

สำหรับข้อมูลเพิ่มเติม ดูเอกสารเกี่ยวกับการระบุแหล่งที่มา