รหัสสถานที่

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

รหัสสถานที่จะระบุสถานที่ที่ไม่ซ้ํากันในฐานข้อมูล Google Places และใน Google Maps ระบบจะยอมรับรหัสสถานที่ในคําขอไปยัง Maps API ต่อไปนี้

  • การดึงที่อยู่ของรหัสสถานที่ในบริการข้อมูลเว็บ Geocoding API และบริการ Geocoding API, Maps JavaScript API
  • การระบุต้นทาง จุดปลายทาง และจุดระหว่างทางในบริการเว็บ Directions API และบริการเส้นทาง, Maps JavaScript API
  • การระบุต้นทางและปลายทางในบริการเว็บ ระยะทางเมทริกซ์ และบริการเมทริกซ์ระยะทาง, Maps JavaScript API
  • การดึงข้อมูลรายละเอียดสถานที่ในบริการเว็บ Places API, Places SDK สําหรับ Android, Places SDK สําหรับ iOS และ Places Library, JavaScript API
  • การใช้พารามิเตอร์รหัสสถานที่ใน Maps ฝัง API
  • การเรียกดูคําค้นหาใน URL ของ Maps
  • แสดงขีดจํากัดความเร็วใน Roads API
  • ค้นหาและจัดรูปแบบรูปหลายเหลี่ยมที่เป็นขอบเขตในการจัดรูปแบบจากข้อมูล

ค้นหารหัสของสถานที่ที่ต้องการ

หากกําลังมองหารหัสสถานที่ของสถานที่ที่เจาะจง ใช้โปรแกรมค้นหารหัสสถานที่ด้านล่างเพื่อค้นหาสถานที่และรับรหัส

หรือจะดูเครื่องมือค้นหารหัสสถานที่พร้อมด้วยรหัสในเอกสารประกอบของ Maps JavaScript API ก็ได้

ภาพรวม

รหัสสถานที่เป็นตัวระบุแบบข้อความที่ระบุสถานที่แบบไม่ซ้ํากัน ความยาวของตัวระบุอาจแตกต่างกันไป (ไม่มีความยาวสูงสุดสําหรับรหัสสถานที่) ตัวอย่าง:

  • ChIJgUbEo8cfqokR5lP9_Wh_DaM
  • GhIJQWDl0CIeQUARxks3icF8U8A
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
  • IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ

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

คุณสามารถใช้รหัสสถานที่เดียวกันใน Places API และ Google Maps Platform API จํานวนหนึ่งได้ ตัวอย่างเช่น คุณสามารถใช้รหัสสถานที่เดียวกันเพื่ออ้างอิงสถานที่ใน Places API, Maps JavaScript API, API การเข้ารหัสพิกัดภูมิศาสตร์, Maps API API และ Roads API

เรียกดูรายละเอียดสถานที่โดยใช้รหัสสถานที่

รหัสสถานที่จะได้รับการยกเว้นจากข้อจํากัดการแคชที่ระบุไว้ในส่วนที่ 3.2.3(ข) ของข้อกําหนดในการให้บริการของ Google Maps Platform เมื่อระบุรหัสสถานที่ของสถานที่หนึ่งๆ แล้ว คุณจะใช้ค่าดังกล่าวซ้ําได้ในครั้งต่อไปที่ค้นหาสถานที่ดังกล่าว ดูข้อมูลเพิ่มเติมได้ในบันทึกรหัสสถานที่ไว้ใช้ในภายหลังด้านล่าง

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

ตัวอย่างการใช้ Places SDK สําหรับ iOS

รหัสสถานที่เป็นตัวระบุแบบข้อความที่ระบุสถานที่แบบไม่ซ้ํากัน ใน 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]);
  }
}];

บันทึกรหัสสถานที่ไว้ใช้ในภายหลัง

รหัสสถานที่ได้รับการยกเว้นจากข้อจํากัดการแคชที่ระบุไว้ในส่วนที่ 3.2.3(ก) ของข้อกําหนดในการให้บริการของ Google Maps Platform คุณจึงเก็บค่ารหัสสถานที่ไว้ใช้ในภายหลังได้

กําลังรีเฟรชรหัสสถานที่ที่บันทึกไว้

เราขอแนะนําให้รีเฟรชรหัสสถานที่ในกรณีที่มีอายุมากกว่า 12 เดือน คุณรีเฟรชรหัสสถานที่ได้โดยไม่มีค่าใช้จ่าย โดยสร้าง คําขอรายละเอียดสถานที่ โดยระบุเฉพาะช่อง GMSPlaceFieldPlaceID ในพารามิเตอร์ fields ซึ่งจะทริกเกอร์ รายละเอียดสถานที่ - การรีเฟรชรหัส SKU อย่างไรก็ตาม คําขอนี้อาจแสดงรหัสสถานะ NOT_FOUND กลยุทธ์หนึ่งคือการจัดเก็บคําขอเดิมที่แสดงผลรหัสสถานที่แต่ละรายการ หากรหัสสถานที่ไม่ถูกต้อง คุณสามารถออกคําขอใหม่เพื่อให้ได้ผลลัพธ์ใหม่ ผลการค้นหาเหล่านี้อาจมีหรือไม่มีสถานที่ดั้งเดิม คําขอนี้เรียกเก็บเงินได้

รหัสข้อผิดพลาดเมื่อใช้รหัสสถานที่

รหัสสถานะ INVALID_REQUEST บ่งบอกว่า รหัสสถานที่ที่ระบุไม่ถูกต้อง อาจแสดงผล INVALID_REQUEST เมื่อรหัสสถานที่ถูกตัดหรือมีการแก้ไข และจะแก้ไขไม่ได้อีกต่อไป

รหัสสถานะ NOT_FOUND บ่งบอกว่ารหัสสถานที่ที่ระบุล้าสมัยแล้ว รหัสสถานที่อาจล้าสมัยหากธุรกิจปิดหรือย้ายไปที่ที่ตั้งใหม่ รหัสสถานที่อาจมีการเปลี่ยนแปลงเนื่องจากการอัปเดตข้อมูลจํานวนมากในฐานข้อมูลของ Google Maps ในกรณีดังกล่าว สถานที่อาจได้รับรหัสสถานที่ใหม่และรหัสเก่าจะแสดงผลการตอบกลับ NOT_FOUND

โดยเฉพาะอย่างยิ่ง รหัสสถานที่บางประเภทอาจทําให้เกิดการตอบกลับ NOT_FOUND หรือ API อาจแสดงผลรหัสสถานที่อื่นในการตอบกลับ ประเภทรหัสสถานที่เหล่านี้ ได้แก่

  • ที่อยู่ที่ไม่มีอยู่ใน Google Maps เป็นที่อยู่ที่แน่นอน แต่สรุปมาจากช่วงที่อยู่
  • ส่วนของเส้นทางทอดยาวที่คําขอจะระบุเมืองหรือย่านด้วย
  • สี่แยก
  • สถานที่ที่มีคอมโพเนนต์ที่อยู่ประเภท subpremise

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

EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4