Praktik terbaik untuk Azure Peta layanan Pencarian

Azure Peta layanan Pencarian menyertakan API yang menawarkan berbagai kemampuan untuk membantu pengembang mencari alamat, tempat, daftar bisnis berdasarkan nama atau kategori, dan informasi geografis lainnya. Misalnya, Search Fuzzy memungkinkan pengguna untuk mencari alamat atau Point of Interest (POI).

Artikel ini menjelaskan cara menerapkan praktik suara saat Anda memanggil data dari Azure Peta layanan Pencarian. Anda akan mempelajari cara:

  • Menyusun kueri untuk mengembalikan kecocokan yang relevan
  • Membatasi hasil pencarian
  • Mempelajari perbedaan di antara jenis hasil
  • Membaca struktur respons pencarian alamat

Prasyarat

Artikel ini menggunakan aplikasi Postman untuk membangun panggilan REST, tetapi Anda dapat memilih lingkungan pengembangan API apa pun.

Praktik terbaik untuk geokode alamat

Saat Anda mencari alamat lengkap atau parsial dengan menggunakan Azure Peta layanan Pencarian, API membaca kata kunci dari kueri pencarian Anda. Kemudian, API mengembalikan koordinat bujur dan lintang alamat. Proses ini disebut geocoding.

Kemampuan geocode di suatu negara/wilayah tergantung pada ketersediaan data jalan dan presisi layanan geocoding. Untuk informasi selengkapnya tentang kemampuan geocoding Azure Maps menurut negara atau wilayah, lihat Cakupan geocoding.

Membatasi hasil pencarian

Azure Maps Search API dapat membantu Anda membatasi hasil pencarian dengan tepat. Anda membatasi hasil sehingga Anda dapat menampilkan data yang relevan kepada pengguna Anda.

Catatan

API pencarian mendukung lebih banyak parameter daripada yang dibahas oleh artikel ini.

Hasil pencarian geobiased

Untuk mendapatkan hasil geobias ke area yang relevan bagi pengguna Anda, selalu tambahkan detail lokasi sebanyak mungkin. Anda mungkin ingin membatasi hasil pencarian dengan menentukan beberapa jenis input:

  • Atur parameter countrySet. Anda dapat mengaturnya ke US,FR, misalnya. Secara default, API mencari seluruh dunia, sehingga dapat mengembalikan hasil yang tidak perlu. Jika kueri Anda tidak memiliki parameter countrySet, pencarian mungkin mengembalikan hasil yang tidak akurat. Misalnya, pencarian kota bernama Bellevue mengembalikan hasil dari AS dan Prancis karena kedua negara/wilayah berisi kota bernama Bellevue.

  • Anda dapat menggunakan parameter btmRight dan topleft untuk mengatur kotak pembatas. Parameter ini membatasi pencarian ke area tertentu di peta.

  • Untuk memengaruhi area relevansi untuk hasil, tentukan lat dan lon koordinasikan parameter. Gunakan radius parameter untuk mengatur radius area pencarian.

Parameter pencarian Fuzzy

Kami menyarankan agar Anda menggunakan Search Fuzzy saat Anda tidak mengetahui input pengguna untuk kueri pencarian. Misalnya, input dari pengguna bisa berupa alamat atau jenis Tempat Menarik (POI), seperti pusat perbelanjaan. API menggabungkan pencarian POI dan geocoding ke dalam pencarian satu baris kanonis:

  • Parameter minFuzzyLevel dan maxFuzzyLevel membantu mengembalikan kecocokan yang relevan bahkan saat parameter kueri tidak sama persis dengan informasi yang diinginkan pengguna. Untuk memaksimalkan performa dan mengurangi hasil yang tidak biasa, atur kueri pencarian ke default minFuzzyLevel=1 dan maxFuzzyLevel=2.

    Misalnya, ketika maxFuzzyLevel parameter diatur ke 2, restrant istilah pencarian dicocokkan ke restoran. Anda dapat mengganti tingkat fuzzy default saat diperlukan.

  • Gunakan idxSet parameter untuk memprioritaskan kumpulan jenis hasil yang tepat. Untuk memprioritaskan sekumpulan hasil yang tepat, Anda dapat mengirim daftar indeks yang dipisahkan koma. Dalam daftar Anda, urutan item tidak berpengaruh. Azure Maps mendukung indeks berikut:

  • Addr - Rentang alamat: Titik alamat yang diinterpolasi dari awal dan akhir jalan. Titik-titik ini dinyatakan sebagai rentang alamat.

  • Geo - Geografi: Pembagian administratif tanah. Geografi dapat berupa negara/wilayah, negara bagian, atau kota, misalnya.

  • PAD - Alamat titik: Alamat yang menyertakan nama dan nomor jalan. Alamat titik dapat ditemukan dalam indeks. Contohnya adalah Soquel Dr 2501. Alamat titik memberikan tingkat akurasi tertinggi yang tersedia untuk alamat.

  • POI - Tempat menarik: Titik pada peta yang dianggap patut diperhatikan atau yang mungkin menarik. Alamat Pencarian tidak mengembalikan POI.

  • Str - Jalan: Jalan-jalan di peta.

  • XStr - Lintas jalan atau persimpangan:Persimpangan atau tempat dua jalan berpotongan.

Contoh penggunaan

  • idxSet=POI - Cari POI saja.

  • idxSet=PAD,Addr - Cari alamat saja. PAD menunjukkan alamat titik, dan Addr menunjukkan rentang alamat.

Geokode terbalik dan filter untuk jenis entitas geografi

Saat Anda melakukan pencarian reverse-geocode menggunakan Search Address Reverse, layanan dapat mengembalikan poligon untuk area administratif. Misalnya, Anda mungkin ingin mengambil poligon area untuk kota. Untuk mempersempit pencarian ke jenis entitas geografi tertentu, sertakan parameter entityType dalam permintaan Anda.

Respons yang dihasilkan berisi ID geografi dan jenis entitas yang dicocokkan. Jika Anda menyediakan lebih dari satu entitas, maka titik akhir mengembalikan entitas terkecil yang tersedia. Anda dapat menggunakan ID geometri yang dikembalikan untuk mendapatkan geometri geografi melalui layanan Cari Poligon.

Permintaan sampel

https://atlas.microsoft.com/search/address/reverse/json?api-version=1.0&subscription-key={Your-Azure-Maps-Subscription-key}&query=47.6394532,-122.1304551&language=en-US&entityType=Municipality

Respons

{
    "summary": {
        "queryTime": 14,
        "numResults": 1
    },
    "addresses": [
        {
            "address": {
                "routeNumbers": [],
                "countryCode": "US",
                "countrySubdivision": "WA",
                "countrySecondarySubdivision": "King",
                "countryTertiarySubdivision": "Seattle East",
                "municipality": "Redmond",
                "country": "United States",
                "countryCodeISO3": "USA",
                "countrySubdivisionName": "Washington"
            },
            "position": "47.639454,-122.130455",
            "dataSources": {
                "geometry": {
                    "id": "00005557-4100-3c00-0000-0000596ae571"
                }
            },
            "entityType": "Municipality"
        }
    ]
}

Mengatur bahasa hasil

Gunakan parameter language untuk mengatur bahasa untuk hasil pencarian yang dikembalikan. Jika permintaan tidak mengatur bahasa, maka secara default layanan Pencarian menggunakan bahasa yang paling umum di negara atau wilayah. Saat tidak ada data yang tersedia dalam bahasa yang ditentukan, bahasa default akan digunakan.

Untuk informasi selengkapnya, lihat Bahasa yang didukung Azure Maps.

Menggunakan mode prediktif (saran otomatis)

Untuk menemukan kecocokan lainnya untuk kueri sebagian, atur parameter typeahead ke true. Kueri ini diinterpretasikan sebagai input sebagian, dan pencarian memasuki mode prediktif. Jika Anda tidak mengatur parameter typeahead ke true, maka layanan mengasumsikan bahwa semua informasi yang relevan telah diteruskan.

Dalam contoh kueri berikut, layanan Cari Alamat dikueri untuk Microso. Di sini, parameter typeahead diatur ke true. Respons menunjukkan bahwa layanan pencarian menginterpretasikan kueri sebagai kueri sebagian. Respons berisi hasil untuk kueri yang disarankan secara otomatis.

Kueri Sampel

https://atlas.microsoft.com/search/address/json?subscription-key={Your-Azure-Maps-Subscription-key}&api-version=1.0&typeahead=true&countrySet=US&lat=47.6370891183&lon=-122.123736172&query=Microsoft

Respons

{
    "summary": {
        "query": "microsoft",
        "queryType": "NON_NEAR",
        "queryTime": 18,
        "numResults": 7,
        "offset": 0,
        "totalResults": 7,
        "fuzzyLevel": 1,
        "geoBias": {
            "lat": 47.6370891183,
            "lon": -122.123736172
        }
    },
    "results": [
        {
            "type": "Street",
            "id": "US/STR/p0/9438784",
            "score": 2.594099998474121,
            "dist": 314.0590106663596,
            "address": {
                "streetName": "Microsoft Way",
                "municipalitySubdivision": "Redmond",
                "municipality": "Redmond",
            },
            "position": {
                "lat": 47.63988,
                "lon": -122.12438
            },
            "viewport": {
                "topLeftPoint": {
                    "lat": 47.64223,
                    "lon": -122.1256,
                    "valid": true
                },
                "btmRightPoint": {
                    "lat": 47.63748,
                    "lon": -122.12309,
                    "valid": true
                }
            }
        },
        {
            "type": "Street",
            "id": "US/STR/p0/1756074",
            "score": 2.592679977416992,
            "dist": 876.0272035824189,
            "address": {
                "streetName": "Microsoft Road",
                "municipalitySubdivision": "Redmond",
                "municipality": "Redmond",
                "countrySecondarySubdivision": "King",
                "countryTertiarySubdivision": "Seattle East",
                "countrySubdivision": "WA",
                "countrySubdivisionName": "Washington",
                "postalCode": "98052",
                "countryCode": "US",
                "country": "United States",
                "countryCodeISO3": "USA",
                "freeformAddress": "Microsoft Road, Redmond, WA 98052"
            },
            "position": {
                "lat": 47.64032,
                "lon": -122.1344
            },
            "viewport": {
                "topLeftPoint": {
                    "lat": 47.64253,
                    "lon": -122.13535,
                    "valid": true
                },
                "btmRightPoint": {
                    "lat": 47.63816,
                    "lon": -122.13305,
                    "valid": true
                }
            }
        },
        {
            "type": "Street",
            "id": "US/STR/p0/1470668",
            "score": 2.5290400981903076,
            "dist": 2735.4883918101486,
            "address": {
                "streetName": "Microsoft West Campus Road",
                "municipalitySubdivision": "Redmond",
                "municipality": "Bellevue",
                "countrySecondarySubdivision": "King",
                "countryTertiarySubdivision": "Seattle East",
                "countrySubdivision": "WA",
                "countrySubdivisionName": "Washington",
                "postalCode": "98007",
                "countryCode": "US",
                "country": "United States",
                "countryCodeISO3": "USA",
                "freeformAddress": "Microsoft West Campus Road, Bellevue, WA 98007"
            },
            "position": {
                "lat": 47.65784,
                "lon": -122.14335
            },
            "viewport": {
                "topLeftPoint": {
                    "lat": 47.65785,
                    "lon": -122.14335,
                    "valid": true
                },
                "btmRightPoint": {
                    "lat": 47.65784,
                    "lon": -122.14325,
                    "valid": true
                }
            }
        },
        {
            "type": "Street",
            "id": "US/STR/p0/12812615",
            "score": 2.527509927749634,
            "dist": 2870.9579016916873,
            "address": {
                "streetName": "Microsoft West Campus Road",
                "municipalitySubdivision": "Redmond",
                "municipality": "Redmond",
                "countrySecondarySubdivision": "King",
                "countryTertiarySubdivision": "Seattle East",
                "countrySubdivision": "WA",
                "countrySubdivisionName": "Washington",
                "postalCode": "98052",
                "countryCode": "US",
                "country": "United States",
                "countryCodeISO3": "USA",
                "freeformAddress": "Microsoft West Campus Road, Redmond, WA 98052"
            },
            "position": {
                "lat": 47.66034,
                "lon": -122.1404
            },
            "viewport": {
                "topLeftPoint": {
                    "lat": 47.66039,
                    "lon": -122.14325,
                    "valid": true
                },
                "btmRightPoint": {
                    "lat": 47.65778,
                    "lon": -122.13749,
                    "valid": true
                }
            }
        },
        {
            "type": "Street",
            "id": "US/STR/p0/197588",
            "score": 2.4630401134490967,
            "dist": 878.1404663812472,
            "address": {
                "streetName": "157th Avenue Northeast",
                "municipalitySubdivision": "Redmond",
                "municipality": "Redmond",
                "countrySecondarySubdivision": "King",
                "countryTertiarySubdivision": "Seattle East",
                "countrySubdivision": "WA",
                "countrySubdivisionName": "Washington",
                "postalCode": "98052",
                "extendedPostalCode": "980525344, 980525398, 980525399",
                "countryCode": "US",
                "country": "United States",
                "countryCodeISO3": "USA",
                "freeformAddress": "157th Avenue Northeast, Redmond, WA 98052"
            },
            "position": {
                "lat": 47.64351,
                "lon": -122.13056
            },
            "viewport": {
                "topLeftPoint": {
                    "lat": 47.64473,
                    "lon": -122.13058,
                    "valid": true
                },
                "btmRightPoint": {
                    "lat": 47.6425,
                    "lon": -122.13016,
                    "valid": true
                }
            }
        },
        {
            "type": "Street",
            "id": "US/STR/p0/3033991",
            "score": 2.0754499435424805,
            "dist": 3655467.8844475765,
            "address": {
                "streetName": "Microsoft Way",
                "municipalitySubdivision": "Yorkmount, Charlotte",
            },
            "position": {
                "lat": 35.14267,
                "lon": -80.91824
            },
            "viewport": {
                "topLeftPoint": {
                    "lat": 35.14287,
                    "lon": -80.91839,
                    "valid": true
                },
                "btmRightPoint": {
                    "lat": 35.14267,
                    "lon": -80.91814,
                    "valid": true
                }
            }
        },
        {
            "type": "Street",
            "id": "US/STR/p0/8395877",
            "score": 2.0754499435424805,
            "dist": 3655437.0037482483,
            "address": {
                "streetName": "Microsoft Way",
                "municipalitySubdivision": "Charlotte",
                "municipality": "Charlotte",
                "countrySecondarySubdivision": "Mecklenburg",
                "countryTertiarySubdivision": "Township 1 Charlotte",
                "countrySubdivision": "NC",
                "countrySubdivisionName": "North Carolina",
                "postalCode": "28273",
                "extendedPostalCode": "282738105, 282738106, 282738108, 2827382, 282738200",
                "countryCode": "US",
                "country": "United States",
                "countryCodeISO3": "USA",
                "freeformAddress": "Microsoft Way, Charlotte, NC 28273"
            },
            "position": {
                "lat": 35.14134,
                "lon": -80.9198
            },
            "viewport": {
                "topLeftPoint": {
                    "lat": 35.14274,
                    "lon": -80.92159,
                    "valid": true
                },
                "btmRightPoint": {
                    "lat": 35.14002,
                    "lon": -80.91824,
                    "valid": true
                }
            }
        }
    ]
}

Mengodekan URI untuk menangani karakter khusus

Untuk menemukan alamat lintas jalan, Anda harus mengodekan URI untuk menangani karakter khusus di alamat. Pertimbangkan contoh alamat ini: 1st Avenue & Union Street, Seattle. Di sini, kodekan karakter ampersand (&) sebelum Anda mengirim permintaan.

Kami merekomendasikan agar Anda mengodekan data karakter dalam URI. Dalam URI, Anda mengodekan semua karakter dengan menggunakan tanda persentase (%) dan nilai heksadesimal dua karakter yang sesuai dengan kode UTF-8 karakter.

Contoh penggunaan

Mulai dengan alamat ini:

query=1st Avenue & E 111th St, New York

Kodekan alamat:

query=1st%20Avenue%20%26%20E%20111th%20St%2C%20New%20York

Anda dapat menggunakan metode berikut.

JavaScript atau TypeScript:

encodeURIComponent(query)

C# atau Visual Basic:

Uri.EscapeDataString(query)

Java:

URLEncoder.encode(query, "UTF-8") 

Python:

import urllib.parse 
urllib.parse.quote(query)

C++:

#include <curl/curl.h>
curl_easy_escape(query)

PHP:

urlencode(query)

Ruby:

CGI::escape(query) 

Swift:

query.stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet()) 

Go:

import ("net/url") 
url.QueryEscape(query)

Praktik terbaik untuk pencarian POI

Dalam pencarian POI, Anda dapat meminta hasil POI berdasarkan nama. Misalnya, Anda dapat mencari bisnis berdasarkan nama.

Kami sangat merekomendasikan Anda menggunakan parameter countrySet untuk menentukan negara/wilayah tempat aplikasi Anda membutuhkan cakupan. Perilaku default adalah mencari di seluruh dunia. Pencarian luas ini mungkin mengembalikan hasil yang tidak perlu, dan pencarian mungkin memerlukan waktu lama.

Untuk meningkatkan relevansi hasil dan informasi dalam respons, respons pencarian POI mencakup informasi merek. Anda dapat menggunakan informasi ini untuk mengurai respons lebih lanjut.

Dalam sebuah permintaan, Anda dapat mengirim daftar nama merek yang dipisahkan koma. Gunakan daftar untuk membatasi hasil ke merek tertentu dengan mengatur parameter brandSet. Dalam daftar Anda, urutan item tidak berpengaruh. Saat Anda menyediakan beberapa daftar merek, hasil yang dikembalikan harus masuk ke setidaknya salah satu dari daftar Anda.

Untuk mengeksplorasi pencarian merek, mari kita membuat permintaan pencarian kategori POI. Dalam contoh berikut, kami mencari pompa bensin di dekat kampus Microsoft di Redmond, Washington. Respons menunjukkan informasi merek untuk setiap POI yang dikembalikan.

Kueri Sampel

https://atlas.microsoft.com/search/poi/json?subscription-key={Your-Azure-Maps-Subscription-key}&api-version=1.0&query=gas%20station&limit=3&lat=47.6413362&lon=-122.1327968

Respons

{
    "summary": {
        "query": "gas station",
        "queryType": "NON_NEAR",
        "queryTime": 276,
        "numResults": 3,
        "offset": 0,
        "totalResults": 762680,
        "fuzzyLevel": 1,
        "geoBias": {
            "lat": 47.6413362,
            "lon": -122.1327968
        }
    },
    "results": [
        {
            "type": "POI",
            "id": "US/POI/p0/8831765",
            "score": 5.6631999015808105,
            "dist": 1037.0280221303253,
            "info": "search:ta:840531000004190-US",
            "poi": {
                "name": "Chevron",
                "phone": "+(1)-(425)-6532200",
                "brands": [
                    {
                        "name": "Chevron"
                    }
                ],
                "categorySet": [
                    {
                        "id": 7311
                    }
                ],
                "url": "www.chevron.com",
                "categories": [
                    "petrol station"
                ],
                "classifications": [
                    {
                        "code": "PETROL_STATION",
                        "names": [
                            {
                                "nameLocale": "en-US",
                                "name": "petrol station"
                            }
                        ]
                    }
                ]
            },
            "address": {
                "streetNumber": "2444",
                "streetName": "Bel Red Rd",
                "municipalitySubdivision": "Northeast Bellevue, Bellevue",
            },
            "position": {
                "lat": 47.63201,
                "lon": -122.13281
            },
            "viewport": {
                "topLeftPoint": {
                    "lat": 47.63291,
                    "lon": -122.13414,
                    "valid": true
                },
                "btmRightPoint": {
                    "lat": 47.63111,
                    "lon": -122.13148,
                    "valid": true
                }
            },
            "entryPoints": [
                {
                    "type": "main",
                    "position": {
                        "lat": 47.63222,
                        "lon": -122.13312,
                        "valid": true
                    }
                }
            ]
        },
        {
            "type": "POI",
            "id": "US/POI/p0/8831752",
            "score": 5.662710189819336,
            "dist": 1330.1278248163273,
            "info": "search:ta:840539001100326-US",
            "poi": {
                "name": "76",
                "phone": "+(1)-(425)-7472126",
                "brands": [
                    {
                        "name": "76"
                    }
                ],
                "categorySet": [
                    {
                        "id": 7311
                    }
                ],
                "url": "www.76.com",
                "categories": [
                    "petrol station"
                ],
                "classifications": [
                    {
                        "code": "PETROL_STATION",
                        "names": [
                            {
                                "nameLocale": "en-US",
                                "name": "petrol station"
                            }
                        ]
                    }
                ]
            },
            "address": {
                "streetNumber": "2421",
                "streetName": "148Th Ave Ne",
                "municipalitySubdivision": "Redmond, Bridle Trails, Bellevue",
                "municipality": "Redmond, Bellevue",
                "countrySecondarySubdivision": "King",
                "countryTertiarySubdivision": "Seattle East",
                "countrySubdivision": "WA",
                "countrySubdivisionName": "Washington",
                "postalCode": "98007",
                "countryCode": "US",
                "country": "United States",
                "countryCodeISO3": "USA",
                "freeformAddress": "2421 148Th Ave Ne, Bellevue, WA 98007",
                "localName": "Bellevue"
            },
            "position": {
                "lat": 47.63187,
                "lon": -122.14365
            },
            "viewport": {
                "topLeftPoint": {
                    "lat": 47.63277,
                    "lon": -122.14498,
                    "valid": true
                },
                "btmRightPoint": {
                    "lat": 47.63097,
                    "lon": -122.14232,
                    "valid": true
                }
            },
            "entryPoints": [
                {
                    "type": "minor",
                    "position": {
                        "lat": 47.63187,
                        "lon": -122.14374,
                        "valid": true
                    }
                },
                {
                    "type": "main",
                    "position": {
                        "lat": 47.63186,
                        "lon": -122.14313,
                        "valid": true
                    }
                }
            ]
        },
        {
            "type": "POI",
            "id": "US/POI/p0/8831764",
            "score": 5.662449836730957,
            "dist": 1458.645407416307,
            "info": "search:ta:840539000488527-US",
            "poi": {
                "name": "BROWN BEAR CAR WASH",
                "phone": "+(1)-(425)-6442868",
                "brands": [
                    {
                        "name": "Texaco"
                    }
                ],
                "categorySet": [
                    {
                        "id": 7311
                    }
                ],
                "url": "www.texaco.com/",
                "categories": [
                    "petrol station"
                ],
                "classifications": [
                    {
                        "code": "PETROL_STATION",
                        "names": [
                            {
                                "nameLocale": "en-US",
                                "name": "petrol station"
                            }
                        ]
                    }
                ]
            },
            "address": {
                "streetNumber": "15248",
                "streetName": "Bel Red Rd",
                "municipalitySubdivision": "Redmond",
            },
            "position": {
                "lat": 47.62843,
                "lon": -122.13628
            },
            "viewport": {
                "topLeftPoint": {
                    "lat": 47.62933,
                    "lon": -122.13761,
                    "valid": true
                },
                "btmRightPoint": {
                    "lat": 47.62753,
                    "lon": -122.13495,
                    "valid": true
                }
            },
            "entryPoints": [
                {
                    "type": "main",
                    "position": {
                        "lat": 47.62827,
                        "lon": -122.13628,
                        "valid": true
                    }
                }
            ]
        }
    ]
}

Dengan menggunakan Search POI API, Anda dapat mencari bandara dengan menggunakan kode resminya. Misalnya, Anda dapat menggunakan SEA untuk menemukan Seattle-Tacoma International Airport:

https://atlas.microsoft.com/search/poi/json?subscription-key={Your-Azure-Maps-Subscription-key}&api-version=1.0&query=SEA 

Untuk mengambil hasil POI di sekitar lokasi tertentu, Anda dapat mencoba menggunakan Cari di Sekitar. Titik akhir hanya mengembalikan hasil POI. Ini tidak memasukkan parameter kueri pencarian.

Untuk membatasi hasilnya, kami merekomendasikan Anda mengatur radius.

Memahami respons

Mari kita temukan alamat di Seattle dengan membuat permintaan pencarian alamat ke Azure Peta layanan Pencarian. Dalam URL permintaan berikut, kami mengatur countrySet parameter ke US untuk mencari alamat di AS.

Kueri Sampel

https://atlas.microsoft.com/search/address/json?subscription-key={Your-Azure-Maps-Subscription-key}&api-version=1&query=400%20Broad%20Street%2C%20Seattle%2C%20WA&countrySet=US

Jenis hasil yang didukung

  • Alamat Titik: Titik di peta yang memiliki alamat tertentu dengan nama dan nomor jalan. Alamat Titik memberikan tingkat akurasi tertinggi untuk alamat.

  • Rentang Alamat: Rentang titik alamat yang diinterpolasi dari awal dan akhir jalan.

  • Geografi: Area di peta yang mewakili pembagian administratif suatu tanah, misalnya, negara/wilayah, negara bagian, atau kota.

  • POI: Titik pada peta yang patut diperhatikan dan yang mungkin menarik.

  • Jalan:Jalan-jalan di peta. Alamat diubah menjadi koordinat lintang dan bujur jalan yang berisi alamat. Nomor rumah mungkin tidak diproses.

  • Lintas Jalan: Persimpangan. Lintas jalan mewakili persimpangan tempat dua jalan berpotongan.

Respons

Mari kita lihat struktur respons. Dalam respons yang mengikuti, jenis objek hasil berbeda. Jika Anda melihat dengan cermat, Anda akan melihat tiga jenis objek hasil:

  • Alamat Titik
  • Jalan
  • Lintas Jalan

Perhatikan bahwa pencarian alamat tidak mengembalikan POI.

Parameter Score untuk setiap objek respons menunjukkan bagaimana skor yang cocok berkaitan dengan skor objek lain dalam respons yang sama. Untuk informasi selengkapnya tentang parameter objek respons, lihat Mendapatkan Alamat Pencarian.

{
    "summary": {
        "query": "400 broad street seattle wa",
        "queryType": "NON_NEAR",
        "queryTime": 146,
        "numResults": 6,
        "offset": 0,
        "totalResults": 7,
        "fuzzyLevel": 1
    },
    "results": [
        {
            "type": "Point Address",
            "id": "US/PAD/p0/28725082",
            "score": 9.893799781799316,
            "address": {
                "streetNumber": "400",
                "streetName": "Broad Street",
            },
            "position": {
                "lat": 47.62039,
                "lon": -122.34928
            },
            "viewport": {
                "topLeftPoint": {
                    "lat": 47.62129,
                    "lon": -122.35061,
                    "valid": true
                },
                "btmRightPoint": {
                    "lat": 47.61949,
                    "lon": -122.34795,
                    "valid": true
                }
            },
            "entryPoints": [
                {
                    "type": "main",
                    "position": {
                        "lat": 47.61982,
                        "lon": -122.34886,
                        "valid": true
                    }
                }
            ]
        },
        {
            "type": "Street",
            "id": "US/STR/p0/6700384",
            "score": 8.129190444946289,
            "address": {
                "streetName": "Broad Street",
            },
            "position": {
                "lat": 47.61724,
                "lon": -122.35207
            },
            "viewport": {
                "topLeftPoint": {
                    "lat": 47.61825,
                    "lon": -122.35336,
                    "valid": true
                },
                "btmRightPoint": {
                    "lat": 47.61626,
                    "lon": -122.35078,
                    "valid": true
                }
            }
        },
        {
            "type": "Street",
            "id": "US/STR/p0/9701953",
            "score": 8.129190444946289,
            "address": {
                "streetName": "Broad Street",
            },
            "position": {
                "lat": 47.61965,
                "lon": -122.349
            },
            "viewport": {
                "topLeftPoint": {
                    "lat": 47.62066,
                    "lon": -122.35041,
                    "valid": true
                },
                "btmRightPoint": {
                    "lat": 47.61857,
                    "lon": -122.34761,
                    "valid": true
                }
            }
        },
        {
            "type": "Street",
            "id": "US/STR/p0/11721297",
            "score": 8.129190444946289,
            "address": {
                "streetName": "Broad Street",
                "municipalitySubdivision": "Seattle, Downtown Seattle, Denny Regrade, Belltown",
                "municipality": "Seattle",
                "countrySecondarySubdivision": "King",
                "countryTertiarySubdivision": "Seattle",
                "countrySubdivision": "WA",
                "countrySubdivisionName": "Washington",
                "postalCode": "98121",
                "extendedPostalCode": "981211237",
                "countryCode": "US",
                "country": "United States",
                "countryCodeISO3": "USA",
                "freeformAddress": "Broad Street, Seattle, WA 98121"
            },
            "position": {
                "lat": 47.61825,
                "lon": -122.35078
            },
            "viewport": {
                "topLeftPoint": {
                    "lat": 47.61857,
                    "lon": -122.35078,
                    "valid": true
                },
                "btmRightPoint": {
                    "lat": 47.61825,
                    "lon": -122.35041,
                    "valid": true
                }
            }
        },
        {
            "type": "Cross Street",
            "id": "US/XSTR/p1/232144",
            "score": 6.754479885101318,
            "address": {
                "streetName": "Broad Street & Valley Street",
                "municipalitySubdivision": "South Lake Union, Seattle",
            },
            "position": {
                "lat": 47.62545,
                "lon": -122.33974
            },
            "viewport": {
                "topLeftPoint": {
                    "lat": 47.62635,
                    "lon": -122.34107,
                    "valid": true
                },
                "btmRightPoint": {
                    "lat": 47.62455,
                    "lon": -122.33841,
                    "valid": true
                }
            }
        }
    ]
}

Geometri

Jenis respons Geometri dapat mencakup ID geometri yang dikembalikan dalam objek dataSources di bawah geometry dan id. Misalnya, Anda dapat menggunakan layanan Cari Poligon untuk meminta data geometri dalam format GeoJSON. Dengan menggunakan format ini, Anda bisa mendapatkan kerangka kota atau bandara untuk satu set entitas. Anda kemudian dapat menggunakan data batas ini untuk Menyiapkan geofence atau Mencari POI di dalam geometri.

Respons untuk Alamat Pencarian atau Search Fuzzy dapat menyertakan ID geometri yang dikembalikan dalam objek di dataSources bawah geometry dan id :

"dataSources": { 
        "geometry": { 
            "id": "00005557-4100-3c00-0000-000059690938" // The geometry ID is returned in the dataSources object under "geometry" and "id".
        }
} 

Langkah berikutnya

Untuk mempelajari lebih lanjut, silakan lihat: