คําขอและคําตอบที่ระบุพิกัดทางภูมิศาสตร์

ส่งคำขอ

คำขอ Geocoding API จะอยู่ในรูปแบบต่อไปนี้

https://maps.googleapis.com/maps/api/geocode/outputFormat?parameters

โดยที่ outputFormat อาจเป็นค่าใดค่าหนึ่งต่อไปนี้

  • json (แนะนำ) ระบุเอาต์พุตในรูปแบบ JavaScript Object Notation (JSON) หรือ
  • xml บ่งชี้เอาต์พุตในรูปแบบ XML

ต้องใช้ HTTPS

โดยบางพารามิเตอร์จำเป็นต้องมีความสามารถที่จำเป็น แต่บางรายการจะระบุหรือไม่ก็ได้ เช่นเดียวกับมาตรฐานใน URL พารามิเตอร์จะคั่นด้วยเครื่องหมายแอมเพอร์แซนด์ (&)

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

พารามิเตอร์การระบุพิกัดทางภูมิศาสตร์ (การค้นหาละติจูด/ลองจิจูด)

พารามิเตอร์ที่จำเป็นในคำขอการระบุพิกัดทางภูมิศาสตร์

  • address — ที่อยู่หรือเครื่องหมายบวกที่คุณต้องการเข้ารหัสพิกัดภูมิศาสตร์ ระบุที่อยู่ตามรูปแบบที่ใช้โดยบริการไปรษณีย์แห่งชาติของประเทศที่เกี่ยวข้อง ควรหลีกเลี่ยงองค์ประกอบที่อยู่เพิ่มเติม เช่น ชื่อธุรกิจ ชื่อห้อง ห้องชุด หรือหมายเลขชั้น องค์ประกอบที่อยู่ควรคั่นด้วยการเว้นวรรค (แสดงเป็น URL ที่ใช้ Escape เป็น %20):
    address=24%20Sussex%20Drive%20Ottawa%20ON
    จัดรูปแบบโค้ด Plus ตามที่แสดงที่นี่ (เครื่องหมายบวกจะใช้ Escape เป็น %2B และเว้นวรรคโดยใช้ URL เป็นอักขระหลีกไปยัง %20):
    • รหัสร่วมเป็นรหัสพื้นที่ 4 อักขระและรหัสในพื้นที่ตั้งแต่ 6 อักขระขึ้นไป (849VCWC8+R9 คือ 849VCWC8%2BR9)
    • รหัสแบบผสมคือรหัสในพื้นที่ยาว 6 อักขระขึ้นไปซึ่งมีตำแหน่งที่ชัดเจน (CWC8+R9 Mountain View, CA, USA คือ CWC8%2BR9%20Mountain%20View%20CA%20USA)

    --OR--
    components — ตัวกรองคอมโพเนนต์ที่มีองค์ประกอบ คั่นด้วยเส้นขวาง (|) ระบบยังยอมรับตัวกรองคอมโพเนนต์เป็นพารามิเตอร์ที่ไม่บังคับหากมี address ด้วย องค์ประกอบแต่ละรายการในตัวกรองคอมโพเนนต์ประกอบด้วยคู่ component:value และจำกัดผลลัพธ์จากโปรแกรมเข้ารหัสพิกัดภูมิศาสตร์โดยสมบูรณ์ ดูข้อมูลเพิ่มเติมเกี่ยวกับการกรองคอมโพเนนต์ที่ด้านล่าง
  • key — คีย์ API ของแอปพลิเคชัน คีย์นี้ระบุแอปพลิเคชันเพื่อวัตถุประสงค์ในการจัดการโควต้า ดูวิธีรับคีย์

โปรดดูคำแนะนำเพิ่มเติมในคำถามที่พบบ่อย

พารามิเตอร์ที่ไม่บังคับในคำขอการเข้ารหัสพิกัดภูมิศาสตร์มีดังนี้

  • bounds — กรอบล้อมรอบของวิวพอร์ตภายในเพื่อการให้น้ำหนักพิเศษกับผลลัพธ์รหัสพิกัดภูมิศาสตร์เด่นชัดขึ้น พารามิเตอร์นี้จะมีผลต่อผลลัพธ์จากเครื่องมือเข้ารหัสพิกัดภูมิศาสตร์เท่านั้น และไม่จํากัดโดยสมบูรณ์ (สำหรับข้อมูลเพิ่มเติม โปรดดูการให้น้ำหนักวิวพอร์ตด้านล่าง)
  • language — ภาษาที่จะแสดงผลการค้นหา
    • ดูรายการภาษาที่รองรับ Google จะอัปเดตภาษาที่รองรับเป็นประจำ ดังนั้นรายการนี้จึงอาจไม่ครอบคลุมทั้งหมด
    • หากไม่ระบุ language โปรแกรมเข้ารหัสพิกัดภูมิศาสตร์จะพยายามใช้ภาษาที่ต้องการตามที่ระบุในส่วนหัว Accept-Language หรือภาษาดั้งเดิมของโดเมนต้นทางที่ส่งคำขอ
    • โปรแกรมเข้ารหัสพิกัดภูมิศาสตร์จะพยายามอย่างดีที่สุดเพื่อระบุที่อยู่ที่ทั้งผู้ใช้และคนท้องถิ่นอ่านได้ เพื่อให้บรรลุเป้าหมายดังกล่าว เครื่องมือจะแสดงที่อยู่ในภาษาท้องถิ่นที่ทับศัพท์เป็นสคริปต์ที่ผู้ใช้อ่านได้หากจำเป็น โดยสังเกตภาษาที่ต้องการ โดยอีเมลอื่นๆ ทั้งหมดจะส่งคืนในภาษาที่ต้องการ คอมโพเนนต์ที่อยู่ทั้งหมดจะแสดงเป็นภาษาเดียวกัน ซึ่งจะเลือกจากคอมโพเนนต์แรก
    • หากไม่มีชื่อในภาษาที่ต้องการ โปรแกรมเข้ารหัสพิกัดภูมิศาสตร์จะใช้รายการที่ตรงกันที่ใกล้เคียงที่สุด
    • ภาษาที่ต้องการมีอิทธิพลเล็กน้อยต่อชุดผลลัพธ์ที่ API เลือกที่จะแสดงผล และลำดับการแสดงผล โปรแกรมเข้ารหัสพิกัดภูมิศาสตร์จะตีความตัวย่อต่างกันไปตามภาษา เช่น ตัวย่อของประเภทถนน หรือคำพ้องความหมายที่อาจใช้ได้ในภาษาหนึ่งแต่ไม่ถูกต้องในอีกภาษาหนึ่ง เช่น utca และ tér เป็นคำพ้องความหมายของถนนและสี่เหลี่ยมในภาษาฮังการีตามลำดับ
  • region — รหัสภูมิภาคที่ระบุเป็นค่าอักขระ 2 ตัวของ ccTLD ("โดเมนระดับบนสุด") พารามิเตอร์นี้จะมีผลต่อผลลัพธ์จากโปรแกรมเข้ารหัสพิกัดภูมิศาสตร์เท่านั้น ไม่ได้จำกัดทั้งหมด (สำหรับข้อมูลเพิ่มเติม โปรดดูการให้น้ำหนักภูมิภาคด้านล่าง) พารามิเตอร์นี้อาจส่งผลต่อผลลัพธ์ตามกฎหมายที่เกี่ยวข้องได้เช่นกัน
  • components — ตัวกรองคอมโพเนนต์ที่มีองค์ประกอบ ที่คั่นด้วยอักขระไปป์ (|) ต้องระบุตัวกรองคอมโพเนนต์หากคำขอไม่มี address องค์ประกอบแต่ละรายการในตัวกรองคอมโพเนนต์ประกอบด้วยคู่ component:value และจำกัดผลลัพธ์จากโปรแกรมเข้ารหัสพิกัดภูมิศาสตร์โดยสมบูรณ์ ดูข้อมูลเพิ่มเติมเกี่ยวกับการกรองคอมโพเนนต์ที่ด้านล่าง

การตอบกลับ

การตอบกลับที่ระบุพิกัดทางภูมิศาสตร์จะแสดงในรูปแบบที่ระบุโดยแฟล็ก output ภายในคำขอ URL หรือในรูปแบบ JSON โดยค่าเริ่มต้น

ในตัวอย่างนี้ Geocoding API จะขอการตอบสนอง json สำหรับการค้นหารหัสสถานที่ "ChIJeRpOeF67j4AR9ydy_PIzPuM" รหัสสถานที่นี้มีไว้สำหรับอาคารที่ 1600 Amphitheatre Parkway, Mountain View, CA

คำขอนี้แสดงโดยใช้แฟล็ก JSON output:

https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJeRpOeF67j4AR9ydy_PIzPuM&key=YOUR_API_KEY

คำขอนี้แสดงโดยใช้แฟล็ก XML output:

https://maps.googleapis.com/maps/api/geocode/xml?place_id=ChIJeRpOeF67j4AR9ydy_PIzPuM&key=YOUR_API_KEY

เลือกแท็บด้านล่างเพื่อดูตัวอย่างการตอบกลับ JSON และ XML

JSON

{
    "results": [
        {
            "address_components": [
                {
                    "long_name": "1600",
                    "short_name": "1600",
                    "types": [
                        "street_number"
                    ]
                },
                {
                    "long_name": "Amphitheatre Parkway",
                    "short_name": "Amphitheatre Pkwy",
                    "types": [
                        "route"
                    ]
                },
                {
                    "long_name": "Mountain View",
                    "short_name": "Mountain View",
                    "types": [
                        "locality",
                        "political"
                    ]
                },
                {
                    "long_name": "Santa Clara County",
                    "short_name": "Santa Clara County",
                    "types": [
                        "administrative_area_level_2",
                        "political"
                    ]
                },
                {
                    "long_name": "California",
                    "short_name": "CA",
                    "types": [
                        "administrative_area_level_1",
                        "political"
                    ]
                },
                {
                    "long_name": "United States",
                    "short_name": "US",
                    "types": [
                        "country",
                        "political"
                    ]
                },
                {
                    "long_name": "94043",
                    "short_name": "94043",
                    "types": [
                        "postal_code"
                    ]
                }
            ],
            "formatted_address": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA",
            "geometry": {
                "location": {
                    "lat": 37.4224428,
                    "lng": -122.0842467
                },
                "location_type": "ROOFTOP",
                "viewport": {
                    "northeast": {
                        "lat": 37.4239627802915,
                        "lng": -122.0829089197085
                    },
                    "southwest": {
                        "lat": 37.4212648197085,
                        "lng": -122.0856068802915
                    }
                }
            },
            "place_id": "ChIJeRpOeF67j4AR9ydy_PIzPuM",
            "plus_code": {
                "compound_code": "CWC8+X8 Mountain View, CA",
                "global_code": "849VCWC8+X8"
            },
            "types": [
                "street_address"
            ]
        }
    ],
    "status": "OK"
}

โปรดทราบว่าการตอบสนองของ JSON มีองค์ประกอบรูท 2 รายการดังนี้

  • "status" มีข้อมูลเมตาในคำขอ โปรดดูรหัสสถานะด้านล่าง
  • "results" มีอาร์เรย์ของข้อมูลที่อยู่ที่เข้ารหัสพิกัดภูมิศาสตร์และข้อมูลเรขาคณิต

โดยทั่วไปการค้นหาที่อยู่จะมีผลลัพธ์เพียงรายการเดียวในอาร์เรย์ "results" แต่โปรแกรมเข้ารหัสพิกัดภูมิศาสตร์อาจแสดงผลลัพธ์หลายรายการเมื่อการค้นหาที่อยู่ไม่ชัดเจน

XML

<GeocodeResponse>
    <status>OK</status>
    <result>
        <type>street_address</type>
        <formatted_address>1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA</formatted_address>
        <address_component>
            <long_name>1600</long_name>
            <short_name>1600</short_name>
            <type>street_number</type>
        </address_component>
        <address_component>
            <long_name>Amphitheatre Parkway</long_name>
            <short_name>Amphitheatre Pkwy</short_name>
            <type>route</type>
        </address_component>
        <address_component>
            <long_name>Mountain View</long_name>
            <short_name>Mountain View</short_name>
            <type>locality</type>
            <type>political</type>
        </address_component>
        <address_component>
            <long_name>Santa Clara County</long_name>
            <short_name>Santa Clara County</short_name>
            <type>administrative_area_level_2</type>
            <type>political</type>
        </address_component>
        <address_component>
            <long_name>California</long_name>
            <short_name>CA</short_name>
            <type>administrative_area_level_1</type>
            <type>political</type>
        </address_component>
        <address_component>
            <long_name>United States</long_name>
            <short_name>US</short_name>
            <type>country</type>
            <type>political</type>
        </address_component>
        <address_component>
            <long_name>94043</long_name>
            <short_name>94043</short_name>
            <type>postal_code</type>
        </address_component>
        <geometry>
            <location>
                <lat>37.4224428</lat>
                <lng>-122.0842467</lng>
            </location>
            <location_type>ROOFTOP</location_type>
            <viewport>
                <southwest>
                    <lat>37.4212648</lat>
                    <lng>-122.0856069</lng>
                </southwest>
                <northeast>
                    <lat>37.4239628</lat>
                    <lng>-122.0829089</lng>
                </northeast>
            </viewport>
        </geometry>
        <place_id>ChIJeRpOeF67j4AR9ydy_PIzPuM</place_id>
        <plus_code>
            <global_code>849VCWC8+X8</global_code>
            <compound_code>CWC8+X8 Mountain View, CA</compound_code>
        </plus_code>
    </result>
</GeocodeResponse>

โปรดทราบว่าการตอบกลับ XML ประกอบด้วย <GeocodeResponse> 1 รายการและองค์ประกอบระดับบนสุด 2 รายการ ดังนี้

  • <status> มีข้อมูลเมตาในคำขอ โปรดดูรหัสสถานะด้านล่าง
  • องค์ประกอบ <result> ตั้งแต่ 0 รายการขึ้นไป โดยแต่ละองค์ประกอบมีข้อมูลที่อยู่ที่ระบุพิกัดภูมิศาสตร์และข้อมูลเรขาคณิตชุดเดียว

การตอบกลับ XML นานกว่าการตอบสนองของ JSON มาก ด้วยเหตุนี้ เราขอแนะนำให้คุณใช้ json เป็นแฟล็กเอาต์พุตที่ต้องการ เว้นแต่บริการของคุณจำเป็นต้องใช้ xml ด้วยเหตุผลบางอย่าง นอกจากนี้ การประมวลผลต้นไม้ XML ต้องระมัดระวังเล็กน้อยเพื่อให้อ้างอิงโหนดและองค์ประกอบที่เหมาะสมได้ ดู การแยกวิเคราะห์ XML ด้วย XPath เพื่อดูรูปแบบการออกแบบที่แนะนำสำหรับการประมวลผลเอาต์พุต

  • ผลลัพธ์ XML จะรวมอยู่ในองค์ประกอบรูท <GeocodeResponse>
  • JSON แสดงถึงรายการที่มีหลายองค์ประกอบตามอาร์เรย์พหูพจน์ (types) ในขณะที่ XML แสดงรายการเหล่านี้โดยใช้องค์ประกอบเอกพจน์หลายรายการ (<type>)
  • มีการระบุองค์ประกอบว่างผ่านอาร์เรย์ว่างใน JSON แต่จะไม่มีองค์ประกอบดังกล่าวใน XML การตอบกลับที่ไม่สร้างผลลัพธ์จะแสดงผลอาร์เรย์ results ว่างใน JSON แต่จะไม่มีองค์ประกอบ <result> ใน XML เช่น

รหัสสถานะ

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

  • "OK" ระบุว่าไม่มีข้อผิดพลาดเกิดขึ้น ระบบแยกวิเคราะห์ที่อยู่สำเร็จและแสดงผลรหัสพิกัดภูมิศาสตร์อย่างน้อย 1 รายการ
  • "ZERO_RESULTS" ระบุว่าการเข้ารหัสพิกัดภูมิศาสตร์สำเร็จ แต่ไม่แสดงผลลัพธ์ ปัญหานี้อาจเกิดขึ้นหากการเข้ารหัสพิกัดภูมิศาสตร์ส่งผ่าน address ที่ไม่มีอยู่จริง
  • OVER_DAILY_LIMIT หมายถึงรายการใดรายการหนึ่งต่อไปนี้
    • ไม่มีคีย์ API หรือคีย์ไม่ถูกต้อง
    • ไม่ได้เปิดใช้การเรียกเก็บเงินในบัญชี
    • การใช้งานเกินขีดจํากัดที่กําหนดเองแล้ว
    • วิธีการชำระเงินที่ระบุใช้ไม่ได้แล้ว (เช่น บัตรเครดิตหมดอายุ)

    ดูคำถามที่พบบ่อยเกี่ยวกับ Maps เพื่อดูวิธีแก้ไขปัญหานี้

  • "OVER_QUERY_LIMIT" ระบุว่าคุณเกินโควต้า
  • "REQUEST_DENIED" หมายถึงคำขอถูกปฏิเสธ
  • โดยทั่วไป "INVALID_REQUEST" บ่งบอกว่าคำค้นหา (address, components หรือ latlng) ขาดหายไป
  • "UNKNOWN_ERROR" บ่งบอกว่าดำเนินการตามคำขอไม่ได้เนื่องจากเกิดข้อผิดพลาดเกี่ยวกับเซิร์ฟเวอร์ คำขออาจสำเร็จหากคุณลองอีกครั้ง

ข้อความแสดงข้อผิดพลาด

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

ผลลัพธ์

เมื่อโปรแกรมเข้ารหัสพิกัดภูมิศาสตร์แสดงผลลัพธ์ เครื่องมือจะวางผลลัพธ์ไว้ในอาร์เรย์ results (JSON) แม้โปรแกรมเข้ารหัสพิกัดภูมิศาสตร์จะไม่แสดงผลลัพธ์ใดๆ (เช่น หากไม่มีที่อยู่) แต่ก็ยังแสดงผลอาร์เรย์ results ที่ว่างเปล่า (การตอบสนองของ XML ประกอบด้วยองค์ประกอบ <result> 0 รายการขึ้นไป)

ผลลัพธ์ทั่วไปจะมีช่องต่อไปนี้

  • อาร์เรย์ types[] จะระบุประเภทของผลลัพธ์ที่แสดง อาร์เรย์นี้มีชุดแท็กตั้งแต่ 0 แท็กขึ้นไปที่ระบุประเภทของฟีเจอร์ที่แสดงในผลลัพธ์ ตัวอย่างเช่น รหัสพิกัดภูมิศาสตร์ของ "ชิคาโก" จะแสดงผล "ย่าน" ซึ่งระบุว่า "ชิคาโก" เป็นเมือง และแสดงผล "การเมือง" ซึ่งระบุว่าเป็นหน่วยงานทางการเมือง คอมโพเนนต์อาจมีอาร์เรย์ประเภทที่ว่างเปล่าเมื่อไม่มีประเภทที่รู้จักสำหรับคอมโพเนนต์ที่อยู่นั้น API อาจเพิ่มค่าประเภทใหม่ตามที่จำเป็น ดูข้อมูลเพิ่มเติมได้ที่ประเภทที่อยู่และคอมโพเนนต์ที่อยู่
  • formatted_address เป็นสตริงที่มีที่อยู่ของสถานที่นี้ที่มนุษย์อ่านได้

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

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

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

  • address_components[] คืออาร์เรย์ที่มีคอมโพเนนต์แยกต่างหากที่ใช้กับที่อยู่นี้

    องค์ประกอบของที่อยู่แต่ละรายการมักจะมีฟิลด์ต่อไปนี้

    • types[] คืออาร์เรย์ที่ระบุประเภทของคอมโพเนนต์ที่อยู่ ดูรายการประเภทที่รองรับ
    • long_name คือคำอธิบายหรือข้อความแบบเต็มของคอมโพเนนต์ที่อยู่ที่ Geocoder แสดงผล
    • short_name เป็นชื่อข้อความแบบย่อสำหรับคอมโพเนนต์ที่อยู่ หากมี เช่น คอมโพเนนต์ที่อยู่สำหรับรัฐอะแลสกาอาจมี long_name เป็น "อะแลสกา" และ short_name เป็น "AK" โดยใช้ตัวย่อทางไปรษณีย์ 2 ตัวอักษร

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

    • อาร์เรย์ของคอมโพเนนต์ที่อยู่อาจมีคอมโพเนนต์มากกว่า formatted_address
    • อาร์เรย์ไม่จำเป็นต้องรวมหน่วยงานทางการเมืองทั้งหมดที่มีที่อยู่ นอกเหนือจากที่อยู่ใน formatted_address หากต้องการดึงข้อมูลหน่วยงานทางการเมืองทั้งหมดที่มีที่อยู่หนึ่งๆ คุณควรใช้การระบุพิกัดทางภูมิศาสตร์แบบย้อนกลับโดยส่งละติจูด/ลองจิจูดของที่อยู่เป็นพารามิเตอร์ไปยังคำขอ
    • เราไม่รับประกันว่ารูปแบบของการตอบกลับระหว่างคำขอจะยังคงเหมือนเดิม โดยเฉพาะอย่างยิ่ง จำนวน address_components จะแตกต่างกันไปตามที่อยู่ที่ขอ และอาจมีการเปลี่ยนแปลงสำหรับที่อยู่เดียวกันเมื่อเวลาผ่านไป คอมโพเนนต์เปลี่ยนตำแหน่งในอาร์เรย์ได้ ประเภทของคอมโพเนนต์สามารถเปลี่ยนแปลงได้ คอมโพเนนต์ที่เฉพาะเจาะจงอาจหายไปในการตอบสนองในภายหลัง

    คุณควรแยกวิเคราะห์การตอบกลับและเลือกค่าที่เหมาะสมผ่านนิพจน์เพื่อจัดการอาร์เรย์ของคอมโพเนนต์ ดูคำแนะนำในการ แยกวิเคราะห์คำตอบ

  • postcode_localities[] เป็นอาร์เรย์ที่แสดงถึงย่านที่อยู่ภายในรหัสไปรษณีย์สูงสุด 100 แห่ง ข้อมูลนี้จะปรากฏเมื่อผลลัพธ์เป็นรหัสไปรษณีย์ที่มีย่านหลายแห่งเท่านั้น
  • geometry ประกอบด้วยข้อมูลต่อไปนี้
    • location มีค่าละติจูดและลองจิจูดที่ระบุพิกัดทางภูมิศาสตร์ สำหรับการค้นหาที่อยู่แบบปกติ ช่องนี้มักเป็นช่องที่สำคัญที่สุด
    • location_type จะจัดเก็บข้อมูลเพิ่มเติมเกี่ยวกับตำแหน่งที่ระบุ ปัจจุบันระบบรองรับค่าต่อไปนี้

      • "ROOFTOP" บ่งบอกว่าผลลัพธ์ที่แสดงเป็นรหัสพิกัดภูมิศาสตร์ที่แม่นยำ ซึ่งเรามีข้อมูลตำแหน่งที่ถูกต้องตามความแม่นยำของที่อยู่
      • "RANGE_INTERPOLATED" แสดงให้เห็นว่าผลลัพธ์ที่แสดงเป็นการประมาณ (มักจะอยู่บนถนน) ที่ประมาณจากจุดที่แน่นอน 2 จุด (เช่น ทางแยก) โดยทั่วไป ระบบจะแสดงผลลัพธ์ที่ได้จากการประมาณเมื่อไม่สามารถใช้พิกัดทางภูมิศาสตร์บนชั้นดาดฟ้าสำหรับที่อยู่ได้
      • "GEOMETRIC_CENTER" จะบ่งบอกว่าผลลัพธ์ที่แสดงเป็นศูนย์กลางทางเรขาคณิตของผลการค้นหา เช่น เส้นประกอบ (เช่น ถนน) หรือรูปหลายเหลี่ยม (ภูมิภาค)
      • "APPROXIMATE" จะแสดงผลลัพธ์ที่แสดงเป็นค่าประมาณ
    • viewport มีวิวพอร์ตที่แนะนำสำหรับการแสดงผลผลลัพธ์ ซึ่งระบุเป็นค่าละติจูดและลองจิจูด 2 ค่าที่กำหนดมุม southwest และ northeast ของกรอบล้อมรอบวิวพอร์ต โดยทั่วไปแล้ว วิวพอร์ตจะใช้เพื่อจัดเฟรมผลลัพธ์เมื่อแสดงต่อผู้ใช้
    • bounds (ไม่บังคับให้แสดงผล) จะจัดเก็บกรอบล้อมรอบซึ่งสามารถเก็บผลลัพธ์ที่แสดงผลอย่างสมบูรณ์ โปรดทราบว่าขอบเขตเหล่านี้อาจไม่ตรงกับวิวพอร์ตที่แนะนำ (ตัวอย่างเช่น ซานฟรานซิสโกรวมถึงหมู่เกาะแฟราลอน ซึ่งในทางเทคนิคแล้วเป็นส่วนหนึ่งของเมือง แต่น่าจะไม่ควรแสดงผลในวิวพอร์ต)
  • plus_code (ดูเปิดรหัสตำแหน่งและเครื่องหมายบวก) คือข้อมูลอ้างอิงตำแหน่งที่เข้ารหัส ซึ่งมาจากพิกัดละติจูดและลองจิจูดที่แสดงพื้นที่: 1/8000 ขององศา 1/8000 องศา (ประมาณ 14 ม. x 14 ม. ที่เส้นศูนย์สูตร) หรือเล็กกว่า คุณสามารถใช้ Plus Code แทนที่อยู่ในพื้นที่ที่ไม่มีที่อยู่ (เมื่อไม่มีการกำหนดหมายเลขอาคาร หรือไม่ได้ตั้งชื่อถนน) API ไม่ได้แสดงโค้ด Plus เสมอไป

    เมื่อบริการแสดงผลโค้ด Plus จะมีการจัดรูปแบบเป็นโค้ดส่วนกลางและโค้ดแบบผสม ดังนี้

    • global_code เป็นรหัสพื้นที่ 4 อักขระและรหัสท้องถิ่นที่ยาวกว่า 6 อักขระ (849VCWC8+R9)
    • compound_code เป็นรหัสท้องถิ่นที่มีความยาว 6 อักขระขึ้นไปซึ่งมีตำแหน่งที่ชัดเจน (CWC8+R9, Mountain View, CA, USA) อย่าแยกวิเคราะห์เนื้อหานี้แบบเป็นโปรแกรม
    API จะแสดงผลทั้งโค้ดส่วนกลางและโค้ดแบบผสม (หากมีให้บริการ) อย่างไรก็ตาม หากผลการค้นหาอยู่ในตำแหน่งที่ตั้งที่ห่างไกล (เช่น มหาสมุทรหรือทะเลทราย) ระบบจะแสดงเฉพาะรหัสส่วนกลางเท่านั้น
  • partial_match ระบุว่าโปรแกรมเข้ารหัสพิกัดภูมิศาสตร์ไม่ได้แสดงการจับคู่ที่ตรงกันทั้งหมดกับคำขอเดิม แต่สามารถจับคู่บางส่วนของที่อยู่ที่ขอได้ คุณอาจต้องตรวจสอบคำขอเดิมว่ามีการสะกดผิดและ/หรือที่อยู่ที่ไม่สมบูรณ์

    การจับคู่บางส่วนมักเกิดขึ้นสำหรับที่อยู่ที่ไม่มีอยู่ภายในย่านที่คุณส่งในคำขอ ระบบอาจแสดงผลการจับคู่บางส่วนเมื่อมีคำขอตรงกับสถานที่ 2 แห่งขึ้นไปในย่านเดียวกัน ตัวอย่างเช่น "Hillpar St, Bristol, UK" จะแสดงผลลัพธ์ที่ตรงกันบางส่วนสำหรับทั้ง Henry Street และ Henrietta Street โปรดทราบว่าหากคำขอมีคอมโพเนนต์ที่อยู่ที่สะกดผิด บริการที่ระบุพิกัดทางภูมิศาสตร์อาจแนะนำที่อยู่อื่น คำแนะนำที่ทำงานในลักษณะนี้จะมีการทำเครื่องหมายเป็นรายการที่ตรงกันบางส่วนด้วย

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

ประเภทที่อยู่และประเภทองค์ประกอบที่อยู่

อาร์เรย์ types[] ในผลลัพธ์จะระบุประเภทที่อยู่ ตัวอย่างประเภทที่อยู่ ได้แก่ ที่อยู่ ประเทศ หรือหน่วยงานทางการเมือง นอกจากนี้ ยังมีอาร์เรย์ types[] ใน address_components[] ซึ่งระบุประเภทของแต่ละส่วนของที่อยู่ เช่น เลขที่ถนนหรือประเทศ (ดูรายการประเภททั้งหมดด้านล่าง) ที่อยู่อาจมีหลายประเภท ประเภทอาจถือเป็น "แท็ก" เช่น หลายๆ เมืองติดแท็กด้วยประเภท political และ locality

โปรแกรมเข้ารหัสพิกัดภูมิศาสตร์รองรับและแสดงประเภทต่อไปนี้ทั้งในอาร์เรย์ประเภทที่อยู่และอาร์เรย์ประเภทคอมโพเนนต์ที่อยู่

  • street_address ระบุที่อยู่ที่แน่ชัด
  • route บ่งชี้ถึงเส้นทางที่มีชื่อ (เช่น "US 101")
  • intersection หมายถึงทางแยกหลัก ซึ่งโดยปกติจะเป็นถนนสายหลัก 2 สาย
  • political หมายถึงหน่วยงานทางการเมือง โดยปกติแล้ว ประเภทนี้จะระบุรูปหลายเหลี่ยมของการบริหารจัดการพลเรือน
  • country หมายถึงหน่วยงานทางการเมืองระดับชาติ และโดยทั่วไปเป็นประเภทลำดับสูงสุดที่ Geocoder แสดงผล
  • administrative_area_level_1 หมายถึงนิติบุคคลอันดับ 1 ที่ต่ำกว่าระดับประเทศ ในสหรัฐอเมริกา ระดับบริหารเหล่านี้เป็นรัฐ มีบางประเทศเท่านั้นที่ไม่ได้แสดงระดับการบริหารเหล่านี้ ในกรณีส่วนใหญ่ ชื่อย่อระดับผู้ดูแลระบบ [Administrative_area_level_1] จะตรงกับการแยกย่อย ISO 3166-2 และรายการที่เผยแพร่อย่างแพร่หลายอื่นๆ แต่ไม่มีการรับประกันเนื่องจากผลการระบุพิกัดทางภูมิศาสตร์ของเราจะอิงตามสัญญาณและข้อมูลตำแหน่งที่หลากหลาย
  • administrative_area_level_2 ระบุนิติบุคคลอันดับที่ 2 ซึ่งอยู่ต่ำกว่าระดับประเทศ ในสหรัฐอเมริกา ระดับบริหารเหล่านี้เป็นเขตปกครอง มีบางประเทศเท่านั้นที่ไม่ได้แสดงระดับการบริหารเหล่านี้
  • administrative_area_level_3 หมายถึงนิติบุคคลพลเรือนที่ 3 ซึ่งอยู่ต่ำกว่าระดับประเทศ ประเภทนี้แสดงถึงการแบ่งแยกทางแพ่งเล็กน้อย มีบางประเทศเท่านั้นที่ไม่ได้แสดงระดับการบริหารเหล่านี้
  • administrative_area_level_4 หมายถึงนิติบุคคลอันดับที่ 4 ซึ่งอยู่ต่ำกว่าระดับประเทศ ประเภทนี้แสดงถึงการแบ่งแยกทางแพ่งเล็กน้อย มีบางประเทศเท่านั้นที่ไม่ได้แสดงระดับการบริหารเหล่านี้
  • administrative_area_level_5 บ่งชี้ถึงนิติบุคคลอันดับที่ 5 ซึ่งอยู่ต่ำกว่าระดับประเทศ ประเภทนี้แสดงถึงการแบ่งแยกทางแพ่งเล็กน้อย มีบางประเทศเท่านั้นที่ไม่ได้แสดงระดับการบริหารเหล่านี้
  • administrative_area_level_6 บ่งชี้ถึงการปกครองลำดับที่ 6 ที่ต่ำกว่าระดับประเทศ ประเภทนี้แสดงถึงการแบ่งแยกทางแพ่งเล็กน้อย มีบางประเทศเท่านั้นที่ไม่ได้แสดงระดับการบริหารเหล่านี้
  • administrative_area_level_7 หมายถึงนิติบุคคลอันดับที่ 7 ของพลเรือนที่อยู่ต่ำกว่าระดับประเทศ ประเภทนี้แสดงถึงการแบ่งแยกทางแพ่งเล็กน้อย มีบางประเทศเท่านั้นที่ไม่ได้แสดงระดับการบริหารเหล่านี้
  • colloquial_area ระบุชื่อสำรองที่ใช้กันโดยทั่วไปสำหรับเอนทิตี
  • locality หมายถึงองค์กรทางการเมืองของเมืองหรือเมืองที่ก่อตั้งขึ้น
  • sublocality บ่งชี้ถึงนิติบุคคลอันดับ 1 ซึ่งอยู่ด้านล่างย่าน ในสถานที่บางแห่งอาจได้รับประเภทเพิ่มเติมต่อไปนี้ sublocality_level_1 ถึง sublocality_level_5 ระดับสถานที่ตั้งย่อยแต่ละระดับเป็นนิติบุคคล ตัวเลขที่มากกว่าหมายถึงพื้นที่ทางภูมิศาสตร์ที่เล็กลง
  • neighborhood หมายถึงย่านใกล้เคียงที่มีชื่อ
  • premise บ่งชี้ถึงสถานที่ที่ตั้งชื่อแล้ว ซึ่งมักจะเป็นอาคารหรือคอลเล็กชันของอาคารที่มีชื่อทั่วไป
  • subpremise ระบุเอนทิตีลำดับแรกใต้สถานที่ที่ตั้งชื่อแล้ว โดยทั่วไปจะเป็นอาคารเดี่ยวภายในกลุ่มอาคารที่มีชื่อทั่วไป
  • plus_code บ่งชี้การอ้างอิงตำแหน่งที่เข้ารหัสซึ่งมาจากละติจูดและลองจิจูด คุณใช้โค้ด Plus แทนที่อยู่ในสถานที่ที่ไม่มีอยู่จริงได้ (ที่ไม่มีหมายเลขกำกับอาคารหรือไม่ได้ตั้งชื่อถนน) ดูรายละเอียดได้ที่ https://plus.codes
  • postal_code หมายถึงรหัสไปรษณีย์ที่ใช้ระบุที่อยู่ทางไปรษณีย์ภายในประเทศ
  • natural_feature หมายถึงองค์ประกอบธรรมชาติที่โดดเด่น
  • airport หมายถึงสนามบิน
  • park หมายถึงสวนสาธารณะที่มีชื่อ
  • point_of_interest หมายถึงจุดสนใจที่มีชื่อ โดยปกติแล้ว "จุดที่น่าสนใจ" เหล่านี้คือหน่วยงานท้องถิ่นที่โดดเด่นซึ่งปรากฏในหมวดหมู่อื่นได้ยาก เช่น "อาคารเอ็มไพร์สเตต" หรือ "หอไอเฟล"

รายการประเภทที่ว่างเปล่าจะบ่งบอกว่าไม่มีประเภทที่รู้จักสำหรับคอมโพเนนต์ที่อยู่หนึ่งๆ เช่น Lieu-dit ในฝรั่งเศส

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

  • floor หมายถึงชั้นของที่อยู่อาคาร
  • โดยทั่วไป establishment จะระบุสถานที่ที่ยังไม่ได้จัดหมวดหมู่
  • landmark ระบุสถานที่ใกล้เคียงที่ใช้เป็นข้อมูลอ้างอิงเพื่อช่วยในการนำทาง
  • point_of_interest หมายถึงจุดสนใจที่มีชื่อ
  • parking หมายถึงที่จอดรถหรือโครงสร้างที่จอดรถ
  • post_box หมายถึงตู้ไปรษณีย์เฉพาะ
  • postal_town หมายถึงการจัดกลุ่มพื้นที่ทางภูมิศาสตร์ เช่น locality และ sublocality ใช้สำหรับที่อยู่จัดส่งในบางประเทศ
  • room หมายถึงห้องของที่อยู่อาคาร
  • street_number บอกเลขที่ถนนที่ถูกต้อง
  • bus_station, train_station และ transit_station ระบุตำแหน่งของป้ายรถประจำทาง รถไฟ หรือขนส่งมวลชน

การให้น้ำหนักวิวพอร์ต

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

พารามิเตอร์ bounds จะกำหนดพิกัดละติจูด/ลองจิจูดของมุมตะวันตกเฉียงใต้และตะวันออกเฉียงเหนือของกรอบล้อมรอบนี้โดยใช้อักขระไปป์ (|) เพื่อแยกพิกัด

เช่น โดยทั่วไป รหัสพิกัดภูมิศาสตร์ของ "วอชิงตัน" จะแสดงผลรัฐวอชิงตันของสหรัฐอเมริกา ดังนี้

คำขอ

https://maps.googleapis.com/maps/api/geocode/json?address=Washington&key=YOUR_API_KEY

คำตอบ:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Washington",
               "short_name" : "WA",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Washington, USA",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 49.0024442,
                  "lng" : -116.91558
               },
               "southwest" : {
                  "lat" : 45.543541,
                  "lng" : -124.8489739
               }
            },
            "location" : {
               "lat" : 47.7510741,
               "lng" : -120.7401385
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 49.0024442,
                  "lng" : -116.91558
               },
               "southwest" : {
                  "lat" : 45.543541,
                  "lng" : -124.8489739
               }
            }
         },
         "place_id" : "ChIJ-bDD5__lhVQRuvNfbGh4QpQ",
         "types" : [ "administrative_area_level_1", "political" ]
      }
   ],
   "status" : "OK"
}

อย่างไรก็ตาม การเพิ่มอาร์กิวเมนต์ bounds เพื่อกำหนดกรอบล้อมรอบส่วนตะวันออกเฉียงเหนือของสหรัฐอเมริกา ส่งผลให้รหัสพิกัดภูมิศาสตร์นี้แสดงเมืองวอชิงตัน ดี.ซี. ดังนี้

คำขอ

https://maps.googleapis.com/maps/api/geocode/json?address=Washington&bounds=36.47,-84.72%7C43.39,-65.90&key=YOUR_API_KEY

คำตอบ:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Washington",
               "short_name" : "Washington",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "District of Columbia",
               "short_name" : "District of Columbia",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "District of Columbia",
               "short_name" : "DC",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Washington, DC, USA",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 38.9958641,
                  "lng" : -76.90939299999999
               },
               "southwest" : {
                  "lat" : 38.7916449,
                  "lng" : -77.119759
               }
            },
            "location" : {
               "lat" : 38.9071923,
               "lng" : -77.03687069999999
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 38.9958641,
                  "lng" : -76.90939299999999
               },
               "southwest" : {
                  "lat" : 38.7916449,
                  "lng" : -77.119759
               }
            }
         },
         "place_id" : "ChIJW-T2Wt7Gt4kRKl2I1CJFUsI",
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}

การให้น้ำหนักภูมิภาค

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

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

เช่น รหัสพิกัดภูมิศาสตร์ของ "Toledo" จะแสดงผลการค้นหานี้ เนื่องจากโดเมนเริ่มต้นของ Geocoding API ได้รับการตั้งค่าเป็นสหรัฐอเมริกา คำขอ

https://maps.googleapis.com/maps/api/geocode/json?address=Toledo&key=YOUR_API_KEY

คำตอบ:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Toledo",
               "short_name" : "Toledo",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Lucas County",
               "short_name" : "Lucas County",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Ohio",
               "short_name" : "OH",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Toledo, OH, USA",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 41.732844,
                  "lng" : -83.454229
               },
               "southwest" : {
                  "lat" : 41.580266,
                  "lng" : -83.69423700000002
               }
            },
            "location" : {
               "lat" : 41.6639383,
               "lng" : -83.55521200000001
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 41.732844,
                  "lng" : -83.454229
               },
               "southwest" : {
                  "lat" : 41.580266,
                  "lng" : -83.69423700000002
               }
            }
         },
         "place_id" : "ChIJeU4e_C2HO4gRRcM6RZ_IPHw",
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}

คำขอการระบุพิกัดทางภูมิศาสตร์สำหรับ "Toledo" กับ region=es (สเปน) จะส่งคืนเมืองในสเปน

คำขอ

https://maps.googleapis.com/maps/api/geocode/json?address=Toledo&region=es&key=YOUR_API_KEY

คำตอบ:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Toledo",
               "short_name" : "Toledo",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Toledo",
               "short_name" : "TO",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Castile-La Mancha",
               "short_name" : "CM",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Spain",
               "short_name" : "ES",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Toledo, Spain",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 39.88605099999999,
                  "lng" : -3.9192423
               },
               "southwest" : {
                  "lat" : 39.8383676,
                  "lng" : -4.0796176
               }
            },
            "location" : {
               "lat" : 39.8628316,
               "lng" : -4.027323099999999
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 39.88605099999999,
                  "lng" : -3.9192423
               },
               "southwest" : {
                  "lat" : 39.8383676,
                  "lng" : -4.0796176
               }
            }
         },
         "place_id" : "ChIJ8f21C60Lag0R_q11auhbf8Y",
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}

การกรองคอมโพเนนต์

ในการตอบกลับเกี่ยวกับ Geocode API จะส่งกลับผลลัพธ์ของที่อยู่ซึ่งจำกัดไว้เฉพาะพื้นที่บางแห่งได้ คุณจะระบุข้อจำกัดได้โดยใช้ตัวกรอง components ตัวกรองประกอบด้วยรายการคู่ component:value ที่คั่นด้วยอักขระไปป์ (|) ค่าตัวกรองรองรับวิธีการแก้ไขตัวสะกดและการจับคู่บางส่วนเช่นเดียวกับคำขอการระบุพิกัดทางภูมิศาสตร์อื่นๆ หากโปรแกรมเข้ารหัสพิกัดภูมิศาสตร์พบรายการที่ตรงกันบางส่วนสำหรับตัวกรองคอมโพเนนต์ คำตอบจะมีช่อง partial_match

components ที่กรองได้มีดังนี้

  • postal_code ตรงกับ postal_code และ postal_code_prefix
  • country ตรงกับชื่อประเทศหรือรหัสประเทศ ISO 3166-1 แบบ 2 ตัวอักษร API เป็นไปตามมาตรฐาน ISO สำหรับการกำหนดประเทศ และการกรองจะทำงานได้ดีที่สุดเมื่อใช้รหัส ISO ที่เกี่ยวข้องของประเทศ

ระบบอาจใช้ components ต่อไปนี้เพื่อให้มีผลต่อผลการค้นหา แต่จะไม่บังคับใช้

  • route จะจับคู่ชื่อยาวหรือสั้นของเส้นทาง
  • locality จับคู่กับประเภท locality และ sublocality
  • administrative_area ตรงกับระดับ administrative_area ทั้งหมด

หมายเหตุเกี่ยวกับการกรองคอมโพเนนต์

  • อย่าใช้ตัวกรองคอมโพเนนต์ซ้ำในคำขอ มิฉะนั้น API จะแสดงผล Invalid_request: country, postal_code, route
  • หากคำขอมีตัวกรองคอมโพเนนต์ที่ซ้ำกัน API จะประเมินตัวกรองเหล่านั้นด้วย "และ" ไม่ใช่ "หรือ"
  • ผลลัพธ์สอดคล้องกับ Google Maps ซึ่งบางครั้งอาจให้คำตอบ ZERO_RESULTS ที่ไม่คาดคิด การใช้การเติมข้อความอัตโนมัติในสถานที่อาจให้ผลลัพธ์ที่ดีกว่าในกรณีการใช้งานบางกรณี ดูข้อมูลเพิ่มเติมได้ในคำถามที่พบบ่อยนี้
  • ระบุคอมโพเนนต์ที่อยู่แต่ละรายการในพารามิเตอร์ address หรือในตัวกรอง components แต่ไม่ใช่ทั้ง 2 อย่าง การระบุค่าเดียวกันในทั้ง 2 ค่าอาจทำให้เกิด ZERO_RESULTS

พิกัดภูมิศาสตร์ของ "High St, Hastings" ด้วย components=country:GB จะแสดงผลลัพธ์เป็นเมืองฮาสติงส์ ประเทศอังกฤษ แทนที่จะเป็นเมืองแฮสติงส์-ออน-ฮัดสัน สหรัฐอเมริกา

คำขอ

https://maps.googleapis.com/maps/api/geocode/json?address=high+st+hasting&components=country:GB&key=YOUR_API_KEY

คำตอบ:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "High Street",
               "short_name" : "High St",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Hastings",
               "short_name" : "Hastings",
               "types" : [ "postal_town" ]
            },
            {
               "long_name" : "East Sussex",
               "short_name" : "East Sussex",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "England",
               "short_name" : "England",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United Kingdom",
               "short_name" : "GB",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "TN34 3EY",
               "short_name" : "TN34 3EY",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "High St, Hastings TN34 3EY, UK",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 50.8601041,
                  "lng" : 0.5957329
               },
               "southwest" : {
                  "lat" : 50.8559061,
                  "lng" : 0.5906163
               }
            },
            "location" : {
               "lat" : 50.85830319999999,
               "lng" : 0.5924594
            },
            "location_type" : "GEOMETRIC_CENTER",
            "viewport" : {
               "northeast" : {
                  "lat" : 50.8601041,
                  "lng" : 0.5957329
               },
               "southwest" : {
                  "lat" : 50.8559061,
                  "lng" : 0.5906163
               }
            }
         },
         "partial_match" : true,
         "place_id" : "ChIJ-Ws929sa30cRKgsMNVkPyws",
         "types" : [ "route" ]
      }
   ],
   "status" : "OK"
}

คำขอรหัสพิกัดภูมิศาสตร์ของ "Santa Cruz" กับ components=country:ES ส่งกลับซานตาครูซเดเตเนริเฟในหมู่เกาะคะเนรี สเปน

คำขอ

https://maps.googleapis.com/maps/api/geocode/json?components=locality:santa+cruz|country:ES&key=YOUR_API_KEY

คำตอบ:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Santa Cruz de Tenerife",
               "short_name" : "Santa Cruz de Tenerife",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Santa Cruz de Tenerife",
               "short_name" : "TF",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Canary Islands",
               "short_name" : "CN",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Spain",
               "short_name" : "ES",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Santa Cruz de Tenerife, Spain",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 28.487616,
                  "lng" : -16.2356646
               },
               "southwest" : {
                  "lat" : 28.4280248,
                  "lng" : -16.3370045
               }
            },
            "location" : {
               "lat" : 28.4636296,
               "lng" : -16.2518467
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 28.487616,
                  "lng" : -16.2356646
               },
               "southwest" : {
                  "lat" : 28.4280248,
                  "lng" : -16.3370045
               }
            }
         },
         "place_id" : "ChIJcUElzOzMQQwRLuV30nMUEUM",
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}

การกรองคอมโพเนนต์จะแสดงผลการตอบกลับ ZERO_RESULTS เฉพาะเมื่อคุณระบุตัวกรองที่ยกเว้นซึ่งกันและกันเท่านั้น

คำขอ

https://maps.googleapis.com/maps/api/geocode/json?components=administrative_area:TX|country:FR&key=YOUR_API_KEY

คำตอบ:

{
   "results" : [],
   "status" : "ZERO_RESULTS"
}

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

คำขอ

https://maps.googleapis.com/maps/api/geocode/json?components=route:Annankatu|administrative_area:Helsinki|country:Finland&key=YOUR_API_KEY

คำตอบ:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Annankatu",
               "short_name" : "Annankatu",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Helsinki",
               "short_name" : "HKI",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Finland",
               "short_name" : "FI",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "00101",
               "short_name" : "00101",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "Annankatu, 00101 Helsinki, Finland",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 60.168997,
                  "lng" : 24.9433353
               },
               "southwest" : {
                  "lat" : 60.16226160000001,
                  "lng" : 24.9332897
               }
            },
            "location" : {
               "lat" : 60.1657808,
               "lng" : 24.938451
            },
            "location_type" : "GEOMETRIC_CENTER",
            "viewport" : {
               "northeast" : {
                  "lat" : 60.168997,
                  "lng" : 24.9433353
               },
               "southwest" : {
                  "lat" : 60.16226160000001,
                  "lng" : 24.9332897
               }
            }
         },
         "place_id" : "ChIJARW7C8sLkkYRgl4je4-RPUM",
         "types" : [ "route" ]
      }
   ],
   "status" : "OK"
}