การค้นหาข้อความ (ใหม่)

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

การค้นหาข้อความจะแสดงข้อมูลเกี่ยวกับชุดสถานที่ตามสตริง เช่น "พิซซ่าในนิวยอร์ก" "ร้านรองเท้าใกล้กับออตตาวา" หรือ "123 Main Street" บริการจะแสดงรายการสถานที่ที่ตรงกับสตริงข้อความและค่ากำหนดตำแหน่งที่ตั้ง

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

"10 High Street, UK" หรือ "123 Main Street, US" "High Street" หลายแห่งในสหราชอาณาจักร "Main Street" หลายแห่งในสหรัฐอเมริกา การค้นหาไม่แสดงผลลัพธ์ที่ต้องการ เว้นแต่จะมีการตั้งค่าข้อจำกัดตำแหน่ง
"ร้านอาหารเชน New York" สถานที่ตั้ง "ร้านอาหารในเครือ" หลายแห่งในนิวยอร์ก ไม่มีที่อยู่หรือแม้แต่ชื่อถนน
"10 High Street, Escher UK" หรือ "123 Main Street, Pleasanton US" มี "High Street" เพียงถนนเดียวในเมือง Escher ของสหราชอาณาจักร และ "Main Street" เพียงถนนเดียวในเมือง Pleasanton รัฐแคลิฟอร์เนียของสหรัฐอเมริกา
"UniqueRestaurantName New York" มีสถานประกอบการเพียงแห่งเดียวในนิวยอร์กที่ใช้ชื่อนี้ จึงไม่จำเป็นต้องระบุที่อยู่
"ร้านอาหารพิซซ่าในนิวยอร์ก" คําค้นหานี้มีข้อจํากัดด้านสถานที่ตั้ง และ "ร้านอาหารพิซซ่า" เป็นประเภทสถานที่ที่กําหนดไว้อย่างชัดเจน ซึ่งจะแสดงผลลัพธ์หลายรายการ
"+1 514-670-8700"

คําค้นหานี้มีหมายเลขโทรศัพท์ โดยจะแสดงผลลัพธ์หลายรายการสำหรับสถานที่ที่เชื่อมโยงกับหมายเลขโทรศัพท์นั้น

ดูรายการสถานที่จากการค้นหาด้วยข้อความ

ส่งคําขอการค้นหาข้อความโดยเรียกใช้ GMSPlacesClient searchByTextWithRequest: โดยส่งออบเจ็กต์ GMSPlaceSearchByTextRequest ที่กําหนดพารามิเตอร์คําขอและเมธอดการเรียกกลับซึ่งมีประเภทเป็น GMSPlaceSearchByTextResultCallback เพื่อจัดการกับการตอบกลับ

ออบเจ็กต์ GMSPlaceSearchByTextRequest จะระบุพารามิเตอร์ที่จําเป็นและไม่บังคับทั้งหมดสําหรับคําขอ พารามิเตอร์ที่จําเป็น ได้แก่

  • รายการช่องที่จะแสดงผลในออบเจ็กต์ GMSPlace หรือที่เรียกว่ามาสก์ฟิลด์ตามที่ระบุโดย GMSPlaceProperty หากคุณไม่ได้ระบุฟิลด์อย่างน้อย 1 ช่องในรายการฟิลด์ หรือไม่ได้ระบุรายการฟิลด์เลย การเรียกใช้จะแสดงข้อผิดพลาด
  • ข้อความค้นหา

คําขอการค้นหาข้อความตัวอย่างนี้ระบุว่าออบเจ็กต์ GMSPlace ของคำตอบต้องมีชื่อสถานที่และรหัสสถานที่สำหรับออบเจ็กต์ GMSPlace แต่ละรายการในผลการค้นหา และยังกรองคำตอบให้แสดงเฉพาะสถานที่ประเภท "restaurant" เท่านั้น

Swift

// Create the GMSPlaceSearchByTextRequest object.
let myProperties = [GMSPlaceProperty.name, GMSPlaceProperty.placeID].map {$0.rawValue}
let request = GMSPlaceSearchByTextRequest(textQuery:"pizza in New York", placeProperties:myProperties)
request.isOpenNow = true
request.includedType = "restaurant"
request.maxResultCount = 5
request.minRating = 3.5
request.rankPreference = .distance
request.isStrictTypeFiltering = true
request.locationBias =  GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0)

// Array to hold the places in the response
var placeResults: [GMSPlace] = []

let callback: GMSPlaceSearchByTextResultCallback = { [weak self] results, error in
  guard let self, error == nil else {
    if let error {
      print(error.localizedDescription)
    }
    return
  }
  guard let results = results as? [GMSPlace] else {
    return
  }
  placeResults = results
}

GMSPlacesClient.shared().searchByText(with: request, callback: callback)

Objective-C

// Create the GMSPlaceSearchByTextRequest object.
GMSPlaceSearchByTextRequest *request =
    [[GMSPlaceSearchByTextRequest alloc] initWithTextQuery:@"pizza in New York" placeProperties:@[GMSPlacePropertyName, GMSPlacePropertyPlaceID]];
request.isOpenNow = YES;
request.includedType = @"restaurant";
request.maxResultCount = 5;
request.minRating = 3.5;
request.rankPreference = GMSPlaceSearchByTextRankPreferenceDistance;
request.isStrictTypeFiltering = YES;
request.priceLevels = @[ @(kGMSPlacesPriceLevelFree), @(kGMSPlacesPriceLevelCheap) ];
request.locationBias = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0);

// Array to hold the places in the response
_placeResults = [NSArray array];

// Create the GMSPlaceSearchByTextRequest object.
[_placesClient searchByTextWithRequest:request
    callback:^(NSArray<GMSPlace *> *_Nullable placeResults, NSError * _Nullable error) {
      if (error != nil) {
        NSLog(@"An error occurred %@", [error localizedDescription]);
        return;
      } else {
        if (placeResults.count > 0) {
          // Get list of places.
          _placeResults = placeResults;
      }
    }
  }
];

Places Swift SDK สำหรับ iOS (เวอร์ชันตัวอย่าง)

let restriction = RectangularLocationRestriction(
      northEast: CLLocationCoordinate2D(latitude: 20, longitude: 30),
      southWest: CLLocationCoordinate2D(latitude: 40, longitude: 50)
)
let searchByTextRequest = SearchByTextRequest(
        textQuery: "pizza in New York",
        placeProperties: [ .name, .placeID ],
        locationRestriction: restriction,
        includedType: .restaurant,
        maxResultCount: 5,
        minRating: 3.5,
        priceLevels: [ .moderate, .inexpensive ],
        isStrictTypeFiltering: true
)
switch await placesClient.searchByText(with: searchByTextRequest) {
case .success(let places):
  // Handle places
case .failure(let placesError):
  // Handle error
}

คำตอบจากการค้นหาข้อความ

Text Search API จะแสดงผลอาร์เรย์รายการที่ตรงกันในรูปของออบเจ็กต์ GMSPlace โดยจะมีออบเจ็กต์ GMSPlace 1 รายการต่อตำแหน่งที่ตรงกัน

รับสถานะเปิด

ออบเจ็กต์ GMSPlacesClient มีฟังก์ชันสมาชิกชื่อ isOpenWithRequest (isOpenRequest ใน Swift และ isPlaceOpenRequest ใน GooglePlacesSwift) ซึ่งจะแสดงผลลัพธ์ที่ระบุว่าสถานที่เปิดอยู่หรือไม่ ณ เวลาที่มีการเรียกใช้

เมธอดนี้ใช้อาร์กิวเมนต์ประเภท GMSPlaceIsOpenWithRequest รายการเดียวที่มีข้อมูลต่อไปนี้

  • ออบเจ็กต์ GMSPlace หรือสตริงที่ระบุรหัสสถานที่ ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างออบเจ็กต์สถานที่ซึ่งมีฟิลด์ที่จำเป็นได้ที่รายละเอียดสถานที่
  • ออบเจ็กต์ NSDate (Obj-C) หรือ Date (Swift) ไม่บังคับซึ่งระบุเวลาที่คุณต้องการตรวจสอบ หากไม่ได้ระบุเวลา ค่าเริ่มต้นจะเป็น "ตอนนี้"
  • วิธีการ GMSPlaceOpenStatusResponseCallback ในการจัดการการตอบกลับ
  • >

เมธอด GMSPlaceIsOpenWithRequest กำหนดให้ต้องตั้งค่าฟิลด์ต่อไปนี้ในแออบเจ็กต์ GMSPlace

  • GMSPlacePropertyUTCOffsetMinutes
  • GMSPlacePropertyBusinessStatus
  • GMSPlacePropertyOpeningHours
  • GMSPlacePropertyCurrentOpeningHours
  • GMSPlacePropertySecondaryOpeningHours

หากไม่ได้ระบุฟิลด์เหล่านี้ในออบเจ็กต์สถานที่ หรือหากคุณส่งรหัสสถานที่ เมธอดจะใช้ GMSPlacesClient GMSFetchPlaceRequest: เพื่อดึงข้อมูล

การตอบกลับ isOpenWithRequest รายการ

isOpenWithRequest จะแสดงผลออบเจ็กต์ GMSPlaceIsOpenResponse ที่มีค่าบูลีนชื่อ status ซึ่งระบุว่าธุรกิจเปิด ปิด หรือไม่ทราบสถานะ

ภาษา ค่าหากเปิด ค่าหากปิด ค่าในกรณีที่ไม่ทราบสถานะ
Swift .open .closed .unknown
Objective-C GMSPlaceOpenStatusOpen GMSPlaceOpenStatusClosed GMSPlaceOpenStatusUnknown
GooglePlacesSwift (เวอร์ชันตัวอย่าง) true false nil

การเรียกเก็บเงินสำหรับ isOpenWithRequest

  • ระบบจะเรียกเก็บเงินสำหรับช่อง GMSPlacePropertyUTCOffsetMinutes และ GMSPlacePropertyBusinessStatus ภายใต้ SKU ข้อมูลพื้นฐาน ระบบจะเรียกเก็บเงินสำหรับเวลาเปิดทำการที่เหลือภายใต้ SKU รายละเอียดสถานที่ (ขั้นสูง)
  • หากออบเจ็กต์ GMSPlace มีช่องเหล่านี้อยู่แล้วจากคำขอก่อนหน้า ระบบจะไม่เรียกเก็บเงินจากคุณอีก

ตัวอย่าง: ส่งคำขอ GMSPlaceIsOpenWithRequest

ตัวอย่างต่อไปนี้แสดงวิธีเริ่มต้น GMSPlaceIsOpenWithRequest ภายในออบเจ็กต์ GMSPlace ที่มีอยู่

Swift

    let isOpenRequest = GMSPlaceIsOpenRequest(place: place, date: nil)
      GMSPlacesClient.shared().isOpen(with: isOpenRequest) { response, error in
        if let error = error {
          // Handle Error
        }
        switch response.status {
          case .open:
            // Handle open
          case .closed:
            // Handle closed
          case .unknown:
            // Handle unknown
        }
      }
        

Objective-C

          GMSPlaceIsOpenRequest *isOpenRequest = [[GMSPlaceIsOpenRequest alloc] initWithPlace:place date:nil];
  
          [[GMSPlacesClient sharedClient] isOpenWithRequest:isOpenRequest callback:^(GMSPlaceIsOpenResponse response, NSError *_Nullable error) {
            if (error) {
              // Handle error
            }
  
            switch (response.status) {
              case GMSPlaceOpenStatusOpen:
                // Handle open
              case GMSPlaceOpenStatusClosed:
                // Handle closed
              case GMSPlaceOpenStatusUnknown:
                // Handle unknown
            }
          }];
          

GooglePlacesSwift

          let isOpenRequest = IsPlaceOpenRequest(place: place)
          switch await placesClient.isPlaceOpen(with: isOpenRequest) {
            case .success(let isOpenResponse):
              switch isOpenResponse.status {
                case true:
                  // Handle open
                case false:
                  // Handle closed
                case nil:
                  // Handle unknown
            case .failure(let placesError):
              // Handle error
          }
          

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

ใช้ออบเจ็กต์ GMSPlaceSearchByTextRequest เพื่อระบุพารามิเตอร์ที่จําเป็นสําหรับการค้นหา

  • รายการช่อง

    ระบุพร็อพเพอร์ตี้ข้อมูลสถานที่ที่จะแสดง ส่งรายการพร็อพเพอร์ตี้ GMSPlace ที่ระบุฟิลด์ข้อมูลที่จะแสดงผล หากคุณละเว้นมาสก์ช่อง คำขอจะแสดงข้อผิดพลาด

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

    ระบุฟิลด์ต่อไปนี้อย่างน้อย 1 ฟิลด์

    • ฟิลด์ต่อไปนี้จะทริกเกอร์ SKU การค้นหาข้อความ (รหัสเท่านั้น)

      GMSPlacePropertyPlaceID, GMSPlacePropertyName
    • ช่องต่อไปนี้จะทริกเกอร์ SKU การค้นหาข้อความ (พื้นฐาน)

      GMSPlacePropertyAddressComponents, GMSPlacePropertyBusinessStatus, GMSPlacePropertyFormattedAddress, GMSPlacePropertyIconBackgroundColor, GMSPlacePropertyIconImageURL, GMSPlacePropertyCoordinate, GMSPlacePropertyPhotos, GMSPlacePropertyPlusCode, GMSPlacePropertyTypes, GMSPlacePropertyUTCOffsetMinutes, GMSPlacePropertyViewport, GMSPlacePropertyWheelchairAccessibleEntrance
    • ฟิลด์ต่อไปนี้จะทริกเกอร์ SKU การค้นหาข้อความ (ขั้นสูง)

      GMSPlacePropertyCurrentOpeningHours, GMSPlacePropertySecondaryOpeningHours, GMSPlacePropertyPhoneNumber, GMSPlacePropertyPriceLevel, GMSPlacePropertyRating, GMSPlacePropertyOpeningHours, GMSPlacePropertyUserRatingsTotal, GMSPlacePropertyWebsite
    • ช่องต่อไปนี้จะทริกเกอร์ SKU การค้นหาข้อความ (แนะนำ)

      GMSPlacePropertyCurbsidePickup, GMSPlacePropertyDelivery, GMSPlacePropertyDineIn, GMSPlacePropertyEditorialSummary, GMSPlacePropertyReservable, GMSPlacePropertyReviews, GMSPlacePropertyServesBeer, GMSPlacePropertyServesBreakfast, GMSPlacePropertyServesBrunch, GMSPlacePropertyServesDinner, GMSPlacePropertyServesLunch, GMSPlacePropertyServesVegetarianFood, GMSPlacePropertyServesWine, GMSPlacePropertyTakeout
  • textQuery

    สตริงข้อความที่จะค้นหา เช่น "restaurant", "123 Main Street" หรือ "best place to visit in San Francisco"

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

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

  • includedType

    จำกัดผลการค้นหาให้แสดงเฉพาะสถานที่ที่ตรงกับประเภทที่ระบุซึ่งกำหนดโดยตาราง ก ระบุได้เพียงประเภทเดียว เช่น

    • request.includedType = "bar"
    • request.includedType = "pharmacy"
  • isOpenNow

    หากเป็น true ให้แสดงเฉพาะสถานที่ที่เปิดทําการ ณ เวลาที่มีการส่งการค้นหา หากเป็น false ให้แสดงธุรกิจทั้งหมดโดยไม่คำนึงถึงสถานะเปิดทำการ ระบบจะแสดงสถานที่ที่ไม่ได้ระบุเวลาทําการในฐานข้อมูล Google Places หากคุณตั้งค่าพารามิเตอร์นี้เป็น false

  • isStrictTypeFiltering

    ใช้กับพารามิเตอร์ includeType เมื่อตั้งค่าเป็น true ระบบจะแสดงเฉพาะสถานที่ที่ตรงกับประเภทที่ระบุโดย includeType เมื่อเป็นเท็จ ซึ่งเป็นค่าเริ่มต้น การตอบกลับอาจมีสถานที่ที่ไม่ตรงกับประเภทที่ระบุ

  • locationBias

    ระบุพื้นที่ที่จะค้นหา ตำแหน่งนี้ใช้เป็นค่ากําหนด ซึ่งหมายความว่าระบบจะแสดงผลการค้นหารอบๆ ตำแหน่งที่ระบุ รวมถึงผลการค้นหานอกพื้นที่ที่ระบุ

    คุณสามารถระบุ locationRestriction หรือ locationBias เพียงรายการใดรายการหนึ่ง ให้คิดว่า locationRestriction เป็นการระบุภูมิภาคที่ผลการค้นหาต้องอยู่ภายใน และ locationBias เป็นการระบุภูมิภาคที่ผลการค้นหาต้องอยู่ใกล้ๆ แต่อยู่นอกพื้นที่ก็ได้

    ระบุภูมิภาคเป็นวิวพอร์ตสี่เหลี่ยมผืนผ้าหรือเป็นวงกลม

    • วงกลมจะกำหนดโดยจุดศูนย์กลางและรัศมีเป็นเมตร รัศมีต้องอยู่ระหว่าง 0.0 ถึง 50000.0 เท่านั้น รัศมีเริ่มต้นคือ 0.0 เช่น

      request.locationBias =  GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(40.7, -74.0), 200.0)
    • สี่เหลี่ยมผืนผ้าคือวิวพอร์ตละติจูด-ลองจิจูด ซึ่งแสดงเป็นจุดต่ำและจุดสูง 2 จุดที่ตรงข้ามกันตามแนวทแยงมุม จุดต่ำสุดแสดงมุมตะวันตกเฉียงใต้ของสี่เหลี่ยมผืนผ้า และจุดสูงสุดแสดงมุมตะวันออกเฉียงเหนือของสี่เหลี่ยมผืนผ้า

      วิวพอร์ตถือเป็นภูมิภาคแบบปิด ซึ่งหมายความว่าจะมีขอบเขตรวมอยู่ด้วย ขอบเขตละติจูดต้องอยู่ในช่วง -90 ถึง 90 องศา และขอบเขตลองจิจูดต้องอยู่ในช่วง -180 ถึง 180 องศา

      • หาก low = high วิวพอร์ตจะประกอบด้วยจุดเดียว
      • หาก low.longitude > high.longitude ระบบจะกลับช่วงลองจิจูด (วิวพอร์ตตัดเส้นลองจิจูด 180 องศา)
      • หาก low.longitude = -180 องศา และ high.longitude = 180 องศา วิวพอร์ตจะรวมลองจิจูดทั้งหมด
      • หาก low.longitude = 180 องศาและ high.longitude = -180 องศา ช่วงลองจิจูดจะว่างเปล่า
      • หาก low.latitude > high.latitude ช่วงละติจูดจะว่างเปล่า
  • locationRestriction

    ระบุพื้นที่ที่จะค้นหา ระบบจะไม่แสดงผลลัพธ์ที่อยู่นอกพื้นที่ที่ระบุ ระบุภูมิภาคเป็นวิวพอร์ตสี่เหลี่ยมผืนผ้า ดูข้อมูลเกี่ยวกับการกำหนดวิวพอร์ตได้จากคำอธิบายของ locationBias

    คุณสามารถระบุ locationRestriction หรือ locationBias เพียงรายการใดรายการหนึ่ง ให้คิดว่า locationRestriction เป็นการระบุภูมิภาคที่ผลการค้นหาต้องอยู่ภายใน และ locationBias เป็นการระบุภูมิภาคที่ผลการค้นหาต้องอยู่ใกล้ๆ แต่อยู่นอกพื้นที่ก็ได้

  • maxResultCount

    ระบุจำนวนผลลัพธ์สถานที่สูงสุดที่จะแสดง ต้องอยู่ระหว่าง 1 ถึง 20 (ค่าเริ่มต้น)

  • minRating

    จำกัดผลลัพธ์ไว้เฉพาะรายการที่มีคะแนนโดยเฉลี่ยจากผู้ใช้มากกว่าหรือเท่ากับขีดจำกัดนี้ ค่าต้องอยู่ระหว่าง 0.0 ถึง 5.0 (รวม) โดยเพิ่มขึ้นทีละ 0.5 เช่น 0, 0.5, 1.0, ... , 5.0 ระบบจะปัดเศษค่าเป็นทศนิยม 0.5 ที่ใกล้เคียงที่สุด เช่น ค่า 0.6 จะนําผลลัพธ์ทั้งหมดที่มีคะแนนน้อยกว่า 1.0 ออก

  • priceLevels

    จำกัดการค้นหาให้แสดงเฉพาะสถานที่ที่มีป้ายกำกับระดับราคาที่เจาะจง ค่าเริ่มต้นคือเลือกระดับราคาทั้งหมด

    ระบุอาร์เรย์ของค่าอย่างน้อย 1 ค่าที่กําหนดโดย PriceLevel

    เช่น

    request.priceLevels = [GMSPlacesPriceLevel.moderate.rawValue, GMSPlacesPriceLevel.cheap.rawValue]
  • rankPreference

    ระบุวิธีจัดอันดับผลการค้นหาในการตอบกลับตามประเภทของคําค้นหา

    • สําหรับคําค้นหาแบบหมวดหมู่ เช่น "ร้านอาหารในนิวยอร์กซิตี้" .relevance (จัดอันดับผลการค้นหาตามความเกี่ยวข้องในการค้นหา) จะเป็นค่าเริ่มต้น คุณสามารถตั้งค่า rankPreference เป็น .relevance หรือ .distance (จัดอันดับผลลัพธ์ตามระยะทาง)
    • สําหรับการค้นหาที่ไม่ใช่หมวดหมู่ เช่น "Mountain View, CA" เราขอแนะนําให้ปล่อย rankPreference ว่างไว้
  • regionCode

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

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

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

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

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

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

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