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

ส่งคำขอ

คําขอ Geocoding API จะใช้รูปแบบต่อไปนี้:

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

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

  • json (แนะนํา) ระบุเอาต์พุตในรูปแบบ JavaScript Object Notation (JSON) หรือ
  • xml หมายถึงเอาต์พุตในรูปแบบ XML

ต้องใช้ HTTPS สําหรับคําขอที่ใช้คีย์ API

พารามิเตอร์บางรายการเป็นพารามิเตอร์ที่จําเป็น แต่จะไม่บังคับ ตามมาตรฐานใน URL พารามิเตอร์จะคั่นด้วยอักขระ "และ" (&)

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

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

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

  • address — ที่อยู่หรือโค้ด Plus ที่คุณต้องการระบุพิกัดทางภูมิศาสตร์ ระบุที่อยู่ตามรูปแบบที่บริการไปรษณีย์แห่งชาติของประเทศกําหนด ควรหลีกเลี่ยงองค์ประกอบที่อยู่เพิ่มเติม เช่น ชื่อธุรกิจและหน่วย หมายเลขห้อง หรือชั้น องค์ประกอบของที่อยู่ควรคั่นด้วยช่องว่าง (แสดงที่นี่เป็นอักขระหลีกกับ URL ไปยัง %20) ดังนี้
    address=24%20Sussex%20Drive%20Ottawa%20ON
    จัดรูปแบบโค้ด Plus ดังที่แสดงที่นี่ (โดยจะใช้อักขระหลีกกับ URL อย่างที่ %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 — รหัสภูมิภาคที่ระบุเป็นค่าอักขระ 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 มีองค์ประกอบสองอย่างดังนี้

  • "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> และองค์ประกอบระดับบนสุด 2 รายการเพียงรายการเดียว

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

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

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

รหัสสถานะ

ช่อง "status" ภายในออบเจ็กต์การตอบกลับ Geocoding จะมีสถานะคําขอ และอาจมีข้อมูลการแก้ไขข้อบกพร่องเพื่อช่วยให้คุณติดตามว่าทําไม Geocoding จึงไม่สามารถใช้งานได้ ช่อง "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 เพิ่มเติมอยู่ภายในออบเจ็กต์การตอบกลับ Geocoding ช่องนี้มีรายละเอียดเพิ่มเติมเกี่ยวกับสาเหตุที่อยู่หลังรหัสสถานะที่ระบุ

ผลลัพธ์

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

ผลลัพธ์ทั่วไปประกอบด้วยฟิลด์ต่อไปนี้:

  • อาร์เรย์ types[] แสดง type ของผลลัพธ์ที่ปรากฏ อาร์เรย์นี้จะมีชุดแท็กตั้งแต่ 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 เป็น "Alaska" และ short_name เป็น "AK" โดยใช้อักษรย่อรหัสไปรษณีย์ 2 ตัว

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

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

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

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

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

    เมื่อบริการส่งคืนโค้ด 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 APIs อื่นๆ ได้ ตัวอย่างเช่น คุณใช้คําขอ place_id ในคําขอ Places API เพื่อดูรายละเอียดของธุรกิจในพื้นที่ได้ เช่น หมายเลขโทรศัพท์ เวลาทําการ รีวิวจากผู้ใช้ และอื่นๆ ดูภาพรวมรหัสสถานที่

ประเภทที่อยู่และประเภทคอมโพเนนต์ที่อยู่

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

ระบบรองรับและแสดงประเภทประเภทต่อไปนี้ในทั้งตัวระบุประเภทที่อยู่และอาร์เรย์ประเภทองค์ประกอบที่อยู่

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

รายการประเภทว่างเปล่าหมายความว่าไม่มีประเภทที่รู้จักสําหรับคอมโพเนนต์ที่อยู่หนึ่งๆ เช่น 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 ของสหราชอาณาจักรคือ "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"
}

คําขอการระบุพิกัดทางภูมิศาสตร์ของ "โตเลโด" กับ 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 Maps ซึ่งบางครั้งอาจให้คําตอบZERO_RESULTSที่ไม่คาดคิด การใช้การเติมข้อความอัตโนมัติของสถานที่อาจให้ผลลัพธ์ที่ดีขึ้นในกรณีการใช้งานบางกรณี ดูข้อมูลเพิ่มเติมได้ในคําถามที่พบบ่อยนี้
  • สําหรับคอมโพเนนต์ที่อยู่แต่ละรายการ ให้ระบุในพารามิเตอร์ address หรือในตัวกรอง components อย่างใดอย่างหนึ่ง การระบุค่าเดียวกันในทั้ง 2 อย่างอาจส่งผลให้ ZERO_RESULTS

รหัสพิกัดสําหรับ "High St, Hastings" ที่มี components=country:GB แสดงผลลัพธ์เป็น Hastings, England แทนที่จะเป็น Hastings-On-Hudson, USA

คําขอ:

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"
}