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

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

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

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

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

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

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

ตัวอย่างนี้ได้สถานที่ตามรหัสโดยส่งผ่านพารามิเตอร์ต่อไปนี้

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

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

Swift

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

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

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

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

Objective-C

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

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

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

[placesClient fetchPlaceWithRequest: fetchPlaceRequest, callback: ^(GMSPlace *_Nullable place, NSError *_Nullable error) {
  if (error == null) {
    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 รหัส

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

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

รายการช่อง

เมื่อขอรายละเอียดสถานที่ คุณต้องระบุข้อมูลที่จะแสดงในออบเจ็กต์ 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 แต่ละรายการมีการระบุแหล่งที่มาและการระบุแหล่งที่มาของผู้เขียนได้ หากแสดงรีวิวในแอป คุณต้องแสดงการระบุแหล่งที่มาหรือการระบุแหล่งที่มาของผู้เขียนด้วย

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