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

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
เลือกแพลตฟอร์ม: Android iOS JavaScript บริการเว็บ

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

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

ชั้นเรียน GMSPlace ให้ข้อมูลเกี่ยวกับสถานที่ที่เจาะจง คุณเก็บรักษาออบเจ็กต์ GMSPlace ได้ด้วยวิธีต่อไปนี้

ช่องข้อมูลสถานที่

เมื่อขอสถานที่ คุณจะต้องระบุประเภทของข้อมูลสถานที่ที่จะส่งคืน ซึ่งส่งผ่าน GMSPlaceField เพื่อระบุประเภทข้อมูลที่จะแสดงผล นี่เป็นข้อควรพิจารณาที่สําคัญ เนื่องจากจะส่งผลต่อต้นทุนสําหรับคําขอแต่ละรายการ เนื่องจากผลลัพธ์ข้อมูลสถานที่ต้องไม่ว่างเปล่า เราจะแสดงเฉพาะผลลัพธ์ของสถานที่ที่มีข้อมูลเท่านั้น (ตัวอย่างเช่น หากสถานที่ที่ขอไม่มีรูปภาพ ช่อง photos จะไม่แสดงในผลลัพธ์) คุณสามารถระบุช่องต่อไปนี้อย่างน้อย 1 ช่อง

  • GMSPlaceFieldName
  • GMSPlaceFieldPlaceID
  • GMSPlaceFieldPlusCode
  • GMSPlaceFieldBusinessStatus
  • GMSPlaceFieldCoordinate
  • GMSPlaceFieldOpeningHours
  • GMSPlaceFieldPhoneNumber
  • GMSPlaceFieldFormattedAddress
  • GMSPlaceFieldRating
  • GMSPlaceFieldPriceLevel
  • GMSPlaceFieldTypes
  • GMSPlaceFieldWebsite
  • GMSPlaceFieldViewport
  • GMSPlaceFieldAddressComponents
  • GMSPlaceFieldPhotos
  • GMSPlaceFieldUserRatingsTotal
  • GMSPlaceFieldIconImageURL
  • GMSPlaceFieldIconBackgroundColor
  • GMSPlaceFieldUTCOffsetMinutes
  • GMSPlaceFieldAll

ดูข้อมูลเพิ่มเติมเกี่ยวกับช่องสถานที่ สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการเรียกเก็บเงินตามคําขอข้อมูลสถานที่ โปรดดูการใช้งานและการเรียกเก็บเงิน

คลาส GMSPlace อาจมีข้อมูลสถานที่ดังต่อไปนี้

  • name – ชื่อสถานที่
  • placeID – ตัวระบุข้อความของสถานที่ อ่านเพิ่มเติมเกี่ยวกับรหัสสถานที่ในส่วนที่เหลือของหน้านี้
  • coordinate – สถานที่ตั้งทางภูมิศาสตร์ของสถานที่ ซึ่งระบุเป็นพิกัดละติจูดและลองจิจูด
  • businessStatus – สถานะการเปิดทําการของสถานที่นั้นๆ หากเป็นธุรกิจ โดยอาจมีค่าใดค่าหนึ่งต่อไปนี้ GMSBusinessStatusOperational, GMSBusinessStatusClosedTemporarily, GMSBusinessStatusClosedPermanently, GMSBusinessStatusUnknown
  • phoneNumber – หมายเลขโทรศัพท์ของสถานที่ในรูปแบบระหว่างประเทศ
  • formattedAddress – ที่อยู่ของสถานที่นี้ซึ่งมนุษย์อ่านได้

    บ่อยครั้งที่ที่อยู่นี้เทียบเท่ากับที่อยู่ไปรษณีย์ โปรดทราบว่าบางประเทศ เช่น สหราชอาณาจักร ไม่อนุญาตการเผยแพร่ที่อยู่จริงทางไปรษณีย์เนื่องจากข้อจํากัดในการอนุญาตให้ใช้สิทธิ

    ที่อยู่ที่จัดรูปแบบจะประกอบด้วยส่วนประกอบที่อยู่อย่างน้อย 1 รายการ ตัวอย่างเช่น ที่อยู่ "111 8th Avenue, New York, NY" ประกอบด้วยองค์ประกอบต่อไปนี้: "111" (หมายเลขถนน) "8th Avenue" (เส้นทาง) "New York" (เมือง) และ "NY" (รัฐของสหรัฐฯ)

    อย่าแยกวิเคราะห์ที่อยู่ที่มีการจัดรูปแบบแบบเป็นโปรแกรม คุณควรใช้คอมโพเนนต์ที่อยู่แต่ละรายการแทน ซึ่งการตอบกลับ API จะมีอยู่นอกเหนือจากช่องที่อยู่ที่จัดรูปแบบ

  • rating – การให้คะแนนรวมของสถานที่ซึ่งแสดงเป็นทศนิยมซึ่งมีค่าตั้งแต่ 1.0 ถึง 5.0 อิงตามรีวิวของผู้ใช้แบบรวม
  • openingHours – เวลาทําการของสถานที่ (ตามที่ GMSOpeningHours แสดง) โทรหา GMSOpeningHours.weekdayText เพื่อดูรายการสตริงภาษาท้องถิ่นของเวลาทําการประจําสัปดาห์ โทรหา GMSOpeningHours.Periods เพื่อส่งคืนรายการ GMSPeriod ที่มีข้อมูลแบบละเอียดซึ่งเทียบเท่ากับข้อมูลที่ weekdayText ให้ หมายเหตุ: หากสถานที่เปิดทําการอยู่เสมอ ระยะเวลาจะแสดงเป็นวันอาทิตย์ตอนเที่ยงคืนและ closeEvent จะเป็น Null
  • plusCode - การแสดง Plus Code ของตําแหน่งสถานที่
  • priceLevel – ระดับราคาของสถานที่นี้ แสดงผลเป็นจํานวนเต็มที่มีค่าตั้งแต่ 0 (ต่ําสุด) ถึง 4 (แพงที่สุด)
  • types – รายการประเภทสถานที่ที่มีลักษณะของสถานที่นี้ อาร์เรย์นี้อาจมีหลายค่าหรืออาจว่างเปล่า อาจมีการแนะนําค่าใหม่โดยไม่ต้องแจ้งให้ทราบล่วงหน้า ดูรายการประเภทที่รองรับ
  • website – URI ของเว็บไซต์ของสถานที่ หากทราบ เว็บไซต์ที่ดูแลโดยธุรกิจหรือบุคคลอื่นที่เชื่อมโยงกับสถานที่
  • attributionsNSAttributedString ที่มีการระบุแหล่งที่มาที่คุณต้องแสดงต่อผู้ใช้หากแอป ใช้รายละเอียดสถานที่ที่ดึงมาจาก Places SDK สําหรับ iOS ดูรายละเอียด เกี่ยวกับการดึงข้อมูลและการแสดงการระบุแหล่งที่มาที่ คําแนะนําในการระบุแหล่งที่มา
  • addressComponents – อาร์เรย์ของออบเจ็กต์ GMSAddressComponent ที่นําเสนอคอมโพเนนต์ของที่อยู่ของสถานที่ องค์ประกอบเหล่านี้มีไว้เพื่อ ดึงข้อมูลที่มีโครงสร้างเกี่ยวกับที่อยู่ของสถานที่ เช่น การค้นหาเมืองของสถานที่นั้น อย่าใช้คอมโพเนนต์เหล่านี้กับการจัดรูปแบบที่อยู่ แต่ให้ใช้พร็อพเพอร์ตี้ formattedAddress ซึ่งมีที่อยู่ที่จัดรูปแบบแล้วแทน

    โปรดทราบข้อเท็จจริงต่อไปนี้เกี่ยวกับอาร์เรย์ addressComponents

    • อาร์เรย์ของคอมโพเนนต์ที่อยู่อาจมีคอมโพเนนต์มากกว่า formattedAddress
    • อาร์เรย์ไม่ได้รวมเอนทิตีทางการเมืองทั้งหมดที่มีที่อยู่ ยกเว้นเอนทิตีที่รวมอยู่ใน formattedAddress
    • เราไม่รับประกันว่ารูปแบบของการตอบกลับจะคงความเหมือนเดิมระหว่างคําขอ โดยเฉพาะอย่างยิ่ง จํานวนของ addressComponents จะแตกต่างกันไปตามที่อยู่ที่ขอ และอาจเปลี่ยนแปลงได้เมื่อเวลาผ่านไปสําหรับที่อยู่เดียวกัน คอมโพเนนต์อาจเปลี่ยนตําแหน่งในอาร์เรย์ ประเภทของคอมโพเนนต์เปลี่ยนแปลงได้ คอมโพเนนต์เฉพาะอาจหายไปในการตอบกลับในภายหลัง
  • userRatingsTotal – แสดงจํานวนรีวิวที่ได้รับคะแนนจากสถานที่นี้
  • GMSPlaceFieldIconImageURL – URL ของไอคอนที่แสดงถึงประเภทสถานที่ (รูปแบบ PNG)
  • GMSPlaceFieldIconBackgroundColor – สีพื้นหลังของไอคอนประเภทสถานที่
  • UTCOffsetMinutes – ออฟเซ็ตเขตเวลาของสถานที่ในหน่วยนาที

คลาส GMSPlace มีฟังก์ชันสมาชิกต่อไปนี้

  • isOpen จะคํานวณว่าสถานที่หนึ่งๆ เปิดทําการในเวลาที่ระบุหรือไม่ โดยจะอิงตาม openingHours และ UTCOffsetMinutes รวมถึงวันที่และเวลาปัจจุบัน
  • isOpenAtDate จะคํานวณว่าสถานที่หนึ่งๆ เปิดทําการในวันที่ที่ระบุหรือไม่ โดยอิงจาก openingHours และ UTCOffsetMinutes รวมถึงวันที่และเวลาปัจจุบัน
  • เมื่อใช้ฟังก์ชันเหล่านี้เพื่อรับเวลาเปิดและ/หรือวันที่ คําขอ fetchPlaceFromPlaceID: หรือ findPlaceLikelihoodsFromUserLocationWithPlaceFields: เดิมต้องระบุช่องทั้ง GMSPlaceFieldOpeningHours และ GMSPlaceFieldUTCOffsetMinutes หากช่องใดช่องหนึ่งขาดหายไป ออบเจ็กต์ GMSPlace ที่ได้จะไม่มีเวลาเปิดหรือวันที่ และการเรียกใช้จะส่งคืน GMSPlaceOpenStatusUnknown เพื่อให้ได้ช่องที่แม่นยํา โปรดขอช่อง GMSPlaceFieldBusinessStatus และ GMSPlaceFieldUTCOffsetMinutes ในคําขอสถานที่เดิม หากไม่ได้ส่งคําขอ จะถือว่าธุรกิจนั้นดําเนินการอยู่

    ดูวิธีใช้ isOpen กับรายละเอียดสถานที่ในวิดีโอนี้

รับสถานที่ตามรหัส

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

หากต้องการระบุตําแหน่งโดยใช้รหัส ให้เรียกใช้ GMSPlacesClient fetchPlaceFromPlaceID: ซึ่งส่งพารามิเตอร์ต่อไปนี้

  • สตริงที่มีรหัสสถานที่
  • GMSPlaceField อย่างน้อย 1 รายการโดยระบุประเภทข้อมูลที่จะแสดง
  • โทเค็นเซสชันหากมีการเรียกเพื่อสิ้นสุดการสืบค้นข้อมูลที่เติมข้อความอัตโนมัติ หรือไม่เช่นนั้นให้ส่งผ่าน nil
  • GMSPlaceResultCallback เพื่อจัดการผลลัพธ์

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

Swift

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

// Specify the place data types to return.
let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) |
  UInt(GMSPlaceField.placeID.rawValue))!

placesClient?.fetchPlace(fromPlaceID: placeId, placeFields: fields, sessionToken: nil, callback: {
  (place: GMSPlace?, error: Error?) in
  if let error = error {
    print("An error occurred: \(error.localizedDescription)")
    return
  }
  if let place = place {
    self.lblName?.text = place.name
    print("The selected place is: \(place.name)")
  }
})

Objective-C

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

// Specify the place data types to return.
GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID);

[_placesClient fetchPlaceFromPlaceID:placeId placeFields:fields sessionToken:nil callback:^(GMSPlace * _Nullable place, NSError * _Nullable error) {
  if (error != nil) {
    NSLog(@"An error occurred %@", [error localizedDescription]);
    return;
  }
  if (place != nil) {
    NSLog(@"The selected place is: %@", [place name]);
  }
}];

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

เมื่อแอปแสดงข้อมูลที่ได้มาจาก GMSPlacesClient lookUpPlaceID:callback: แอปต้องแสดงการระบุแหล่งที่มาด้วย ดูเอกสารประกอบเกี่ยวกับการระบุแหล่งที่มา

ข้อมูลเพิ่มเติมเกี่ยวกับรหัสสถานที่

รหัสสถานที่ที่ใช้ใน Places SDK สําหรับ iOS คือรหัสเดียวกันกับที่ใช้ใน Places API, Places SDK สําหรับ Android และ Google API อื่นๆ

รหัสสถานที่แต่ละรหัสสามารถบอกสถานที่ได้เพียงแห่งเดียวเท่านั้น แต่สถานที่ 1 แห่งอาจมีรหัสสถานที่มากกว่า 1 รายการ

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

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

ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมของรหัสสถานที่