รหัสสถานที่

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

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

  • การดึงข้อมูลที่อยู่สำหรับรหัสสถานที่ในบริการบนเว็บ Geocoding API และบริการ Geocoding, Maps JavaScript API
  • การระบุจุดอ้างอิงต้นทาง จุดหมาย และจุดอ้างอิงระหว่างกลางใน บริการเว็บ Routes API และ Directions API และบริการ Directions API ของ Maps JavaScript API
  • การระบุต้นทางและปลายทางใน Routes API และ บริการเว็บ Distance Matrix API และ บริการ Distance Matrix Service, Maps JavaScript API
  • การเรียกดูรายละเอียดสถานที่ในบริการเว็บ Places API, Places SDK สำหรับ Android, Places SDK สำหรับ iOS และห้องสมุด Places
  • การใช้พารามิเตอร์รหัสสถานที่ใน Maps Embed 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, Geocoding API, Maps Embed API และ Roads API

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

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

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

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

หากต้องการสถานที่ตามรหัส ให้เรียก GMSPlacesClient fetchPlaceFromPlaceID: โดยส่งพารามิเตอร์ต่อไปนี้

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

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

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