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

ส่งคำขอ

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

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

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

  • json (แนะนำ) ระบุเอาต์พุตใน JavaScript Object Notation (JSON) หรือ
  • xml ระบุเอาต์พุตใน XML

ต้องใช้ HTTPS

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

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

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

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

  • address — ที่อยู่หรือPlus Code ที่คุณต้องการเข้ารหัสพิกัดภูมิศาสตร์ ระบุที่อยู่ตามรูปแบบ ใช้โดยบริการไปรษณีย์ระดับชาติของประเทศที่เกี่ยวข้อง ข้อมูลเพิ่มเติม องค์ประกอบที่อยู่ เช่น ชื่อและห้องพักของธุรกิจ เลขที่ห้อง หรือชั้น ที่ควรหลีกเลี่ยง องค์ประกอบของที่อยู่ควรคั่นด้วยช่องว่าง (แสดงที่นี่เป็นอักขระหลีกของ URL ไปยัง %20):
    address=24%20Sussex%20Drive%20Ottawa%20ON
    จัดรูปแบบโค้ด Plus ดังที่แสดงที่นี่ (เครื่องหมายบวกใช้ Escape กับ URL มาที่ %2B และเว้นวรรคโดยใช้ Escape กับ 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 — รหัสภูมิภาค ระบุเป็น ccTLD ("โดเมนระดับบนสุด") ค่าอักขระสองตัว พารามิเตอร์นี้จะ การควบคุม ไม่ได้จำกัดทั้งหมด ผลลัพธ์จากโปรแกรมเข้ารหัสพิกัดภูมิศาสตร์ (สำหรับข้อมูลเพิ่มเติม ดูข้อมูลเพิ่มเติมที่การให้น้ำหนักภูมิภาคด้านล่าง) ยังสามารถส่งผลกระทบต่อผลลัพธ์ตามกฎหมายที่เกี่ยวข้อง
  • components — ตัวกรองคอมโพเนนต์ที่มีองค์ประกอบ คั่นด้วยเครื่องหมายขีดตั้ง (|) ตัวกรองคอมโพเนนต์คือ ต้องระบุหากคำขอไม่มี address องค์ประกอบแต่ละรายการในตัวกรองคอมโพเนนต์ประกอบด้วย component:value จับคู่ และจำกัดผลลัพธ์ทั้งหมด จากโปรแกรมเข้ารหัสพิกัดภูมิศาสตร์ ดูข้อมูลเพิ่มเติมเกี่ยวกับ การกรองคอมโพเนนต์ที่ด้านล่าง
  • extra_computations — ใช้พารามิเตอร์นี้เพื่อระบุ คุณลักษณะเพิ่มเติมต่อไปนี้ในการตอบกลับ: หากต้องการเปิดใช้ฟีเจอร์เหล่านี้หลายรายการสำหรับคำขอ API เดียวกัน ให้ใส่ extra_computations ในคำขอสำหรับแต่ละฟีเจอร์ เช่น
    extra_computations=ADDRESS_DESCRIPTORS&extra_computations=BUILDING_AND_ENTRANCES

การตอบกลับ

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

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

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

https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY

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

https://maps.googleapis.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&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"
                    ]
                },
                {
                    "long_name": "1351",
                    "short_name": "1351",
                    "types": [
                        "postal_code_suffix"
                    ]
                }
            ],
            "formatted_address": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA",
            "geometry": {
                "location": {
                    "lat": 37.4222804,
                    "lng": -122.0843428
                },
                "location_type": "ROOFTOP",
                "viewport": {
                    "northeast": {
                        "lat": 37.4237349802915,
                        "lng": -122.083183169709
                    },
                    "southwest": {
                        "lat": 37.4210370197085,
                        "lng": -122.085881130292
                    }
                }
            },
            "place_id": "ChIJRxcAvRO7j4AR6hm6tys8yA8",
            "plus_code": {
                "compound_code": "CWC8+W7 Mountain View, CA",
                "global_code": "849VCWC8+W7"
            },
            "types": [
                "street_address"
            ]
        }
    ],
    "status": "OK"
}

โปรดทราบว่าการตอบสนอง JSON มีองค์ประกอบราก 2 ส่วน ได้แก่

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

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

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> และองค์ประกอบระดับบนสุด 2 รายการ ได้แก่

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

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

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

รหัสสถานะ

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

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

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

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

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

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

ผลลัพธ์

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

ผลลัพธ์ทั่วไปจะมีฟิลด์ต่อไปนี้

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

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

    ที่อยู่ที่จัดรูปแบบประกอบด้วยที่อยู่ ที่อยู่อย่างน้อย 1 รายการตามตรรกะ คอมโพเนนต์ เช่น ที่อยู่ "111 8th Avenue, New York, NY" ประกอบด้วยคอมโพเนนต์ "111" (หมายเลขถนน) "ถนน 8th Avenue" (เส้นทาง), "นิวยอร์ก" (เมือง) และ "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" บ่งชี้ ว่าผลลัพธ์ที่แสดงแสดงถึง การประมาณ (มักจะอยู่บนถนน) อยู่ระหว่างจุดสองจุดที่แม่นยำ (เช่น ทางแยก) โดยปกติจะแสดงผลลัพธ์ที่มีการสลับเวลาเมื่อพิกัดทางภูมิศาสตร์ของหลังคาไม่พร้อมใช้งานสำหรับถนน ที่อยู่
      • "GEOMETRIC_CENTER" บ่งชี้ว่า ผลลัพธ์คือศูนย์เรขาคณิตของ ผลลัพธ์ เช่น เส้นประกอบ (เช่น ถนน) หรือรูปหลายเหลี่ยม (ภูมิภาค)
      • "APPROXIMATE" บ่งชี้ว่า ผลลัพธ์ที่แสดงเป็นค่าประมาณ
    • viewport มีวิวพอร์ตที่แนะนำสำหรับการแสดง ผลลัพธ์ที่แสดง ซึ่งระบุเป็นละติจูด 2 ค่า ลองจิจูด southwest และ มุม northeast ของกล่องที่ล้อมรอบวิวพอร์ต โดยทั่วไปแล้ว ใช้วิวพอร์ตเพื่อจัดกรอบผลลัพธ์เมื่อแสดงต่อผู้ใช้
    • bounds (เลือกส่งคืนได้) จะจัดเก็บกรอบล้อมรอบ ซึ่งสามารถเก็บผลลัพธ์ที่แสดงผลได้ทั้งหมด โปรดทราบว่าขอบเขตเหล่านี้อาจไม่ตรงกับ วิวพอร์ตที่แนะนำ (ตัวอย่างเช่น ซานฟรานซิสโกมี หมู่เกาะฟาราลลอน อยู่ในทางเทคนิคแล้ว แต่ไม่ควรส่งคืนในวิวพอร์ต)
  • plus_code (ดู เปิดรหัสสถานที่ตั้ง และโค้ด Plus) เป็นโค้ดที่เข้ารหัส การอ้างอิงตำแหน่ง ซึ่งดูได้จากพิกัดละติจูดและลองจิจูด แสดงพื้นที่: 1/8000 ขององศา x 1/8000 ขององศา (ประมาณ 14 ม. x 14 ม. ที่เส้นศูนย์สูตร) หรือเล็กกว่า Plus Codes สามารถใช้แทนโค้ด ที่อยู่ในสถานที่ที่ไม่มีที่อยู่ (เมื่อไม่มีอาคาร) หมายเลขถนนหรือถนนไม่มีชื่อ) 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[] โดยระบุประเภทของแต่ละส่วนของ ที่อยู่ เช่น เลขที่ถนนหรือประเทศ (ด้านล่างนี้เป็นรายการที่สมบูรณ์ของ types.) ที่อยู่อาจมีได้หลายประเภท ระบบอาจพิจารณาประเภทประเภทเป็น "แท็ก" ตัวอย่างเช่น หลายๆ เมืองมีการติดแท็ก political และ ประเภท locality

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

  • street_address ระบุที่อยู่ที่ถูกต้องแม่นยำ
  • route ระบุเส้นทางที่มีชื่อ (เช่น "US 101")
  • intersection หมายถึงทางแยกหลัก ซึ่งโดยปกติคือสี่แยก ถนนสายหลัก
  • political บ่งชี้ถึงหน่วยงานทางการเมือง โดยปกติ ประเภทนี้ แสดงถึงรูปหลายเหลี่ยมของการปกครองระบบพลเรือน
  • country หมายถึงหน่วยงานทางการเมืองระดับชาติ และ ซึ่งโดยทั่วไปจะเป็นประเภทลำดับสูงสุดที่มาจาก Geocoder
  • administrative_area_level_1 บ่งชี้ถึงคดีแพ่งในลำดับแรก ต่ำกว่าระดับประเทศ ในประเทศสหรัฐอเมริกา ระดับการดูแลระบบคือรัฐ มีบางประเทศเท่านั้นที่แสดงสิ่งเหล่านี้ ระดับผู้ดูแลระบบ ในกรณีส่วนใหญ่ admin_area_level_1 ชื่อย่อจะใกล้เคียงกับหมวดย่อย ISO 3166-2 มาก รายการที่เผยแพร่แล้ว แต่ก็ไม่อาจรับประกันได้ว่า ผลจากการระบุพิกัดทางภูมิศาสตร์ของเรา ขึ้นอยู่กับสัญญาณและข้อมูลตำแหน่งต่างๆ
  • administrative_area_level_2 บ่งชี้ถึงคดีแพ่งลำดับที่ 2 ต่ำกว่าระดับประเทศ ในประเทศสหรัฐอเมริกา ระดับการดูแลระบบคือเขต มีบางประเทศเท่านั้นที่แสดงสิ่งเหล่านี้ ระดับผู้ดูแลระบบ
  • administrative_area_level_3 บ่งชี้ถึงคดีแพ่งที่ 3 ต่ำกว่าระดับประเทศ ประเภทนี้หมายถึงการแบ่งแยกคดีผู้เยาว์ มีบางประเทศเท่านั้นที่จะแสดงระดับการปกครองเหล่านี้
  • administrative_area_level_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 Codes สามารถใช้แทนโค้ด ที่อยู่ในสถานที่ที่ไม่มีอยู่ (ที่อาคารไม่มีหมายเลขกำกับ หรือ ไม่มีชื่อถนน) ดู 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 ระบุตำแหน่งของรถประจำทาง รถไฟ หรือสาธารณะ ป้ายจอดรถสาธารณะ

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

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

พารามิเตอร์ 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"
}

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

ในคำขอ Geocoding คุณสามารถสั่งให้บริการ Geocoding กลับมา ผลลัพธ์ที่ลำเอียงกับภูมิภาคใดภูมิภาคหนึ่งโดยการใช้ region พารามิเตอร์ พารามิเตอร์นี้ใช้ ccTLD (รหัสประเทศระดับบนสุด โดเมน) ที่ระบุการให้น้ำหนักภูมิภาค รหัส ccTLD ส่วนใหญ่จะเหมือนกับ รหัส ISO 3166-1 โดยมีข้อยกเว้นที่สำคัญ ตัวอย่างเช่น สหรัฐอเมริกา ccTLD ของ Kingdom คือ "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"
}

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

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

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

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

components ต่อไปนี้อาจใช้เพื่อให้ส่งผลต่อผลลัพธ์ แต่จะไม่ถูก บังคับใช้:

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

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

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