Share via


MapsSearchClient Class

Definition

The Search service client.

public class MapsSearchClient
type MapsSearchClient = class
Public Class MapsSearchClient
Inheritance
MapsSearchClient

Constructors

MapsSearchClient()

Initializes a new instance of MapsSearchClient.

MapsSearchClient(AzureKeyCredential)

Initializes a new instance of MapsSearchClient.

MapsSearchClient(AzureKeyCredential, MapsSearchClientOptions)

Initializes a new instance of MapsSearchClient.

MapsSearchClient(AzureSasCredential)

Initializes a new instance of MapsSearchClient.

MapsSearchClient(AzureSasCredential, MapsSearchClientOptions)

Initializes a new instance of MapsSearchClient.

MapsSearchClient(TokenCredential, String)

Initializes a new instance of MapsSearchClient.

MapsSearchClient(TokenCredential, String, MapsSearchClientOptions)

Initializes a new instance of MapsSearchClient.

Methods

FuzzyBatchSearch(WaitUntil, IEnumerable<FuzzySearchQuery>, CancellationToken)

The Search Address Batch API sends batches of queries to Search Fuzzy API using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to 10,000 queries and sync API up to 100 queries.

FuzzyBatchSearchAsync(WaitUntil, IEnumerable<FuzzySearchQuery>, CancellationToken)

The Search Address Batch API sends batches of queries to Search Fuzzy API using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to 10,000 queries and sync API up to 100 queries.

FuzzySearch(String, FuzzySearchOptions, CancellationToken)

The basic default API is Free Form Search which handles the most fuzzy of inputs handling any combination of address or POI tokens. This search API is the canonical 'single line search'. The Free Form Search API is a seamless combination of POI search and geocoding. The API can also be weighted with a contextual position (lat./lon. pair), or fully constrained by a a pair of coordinates and radius, or it can be executed more generally without any geo biasing anchor point.<br><br>We strongly advise you to use the 'countrySet' parameter to specify only the countries for which your application needs coverage, as the default behavior will be to search the entire world, potentially returning unnecessary results.<br><br> E.g.: countrySet=US,FR <br><br>Please see Search Coverage for a complete list of all the supported countries.<br><br>Most Search queries default to maxFuzzyLevel=2 to gain performance and also reduce unusual results. This new default can be overridden as needed per request by passing in the query param maxFuzzyLevel=3 or 4.

FuzzySearchAsync(String, FuzzySearchOptions, CancellationToken)

The basic default API is Free Form Search which handles the most fuzzy of inputs handling any combination of address or POI tokens. This search API is the canonical 'single line search'. The Free Form Search API is a seamless combination of POI search and geocoding. The API can also be weighted with a contextual position (lat./lon. pair), or fully constrained by a a pair of coordinates and radius, or it can be executed more generally without any geo biasing anchor point.<br><br>We strongly advise you to use the 'countrySet' parameter to specify only the countries for which your application needs coverage, as the default behavior will be to search the entire world, potentially returning unnecessary results.<br><br> E.g.: countrySet=US,FR <br><br>Please see Search Coverage for a complete list of all the supported countries.<br><br>Most Search queries default to maxFuzzyLevel=2 to gain performance and also reduce unusual results. This new default can be overridden as needed per request by passing in the query param maxFuzzyLevel=3 or 4.

GetImmediateFuzzyBatchSearch(IEnumerable<FuzzySearchQuery>, CancellationToken)

The Search Address Batch API sends batches of queries to Search Fuzzy API using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to 10,000 queries and sync API up to 100 queries.

GetImmediateFuzzyBatchSearchAsync(IEnumerable<FuzzySearchQuery>, CancellationToken)

The Search Address Batch API sends batches of queries to Search Fuzzy API using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to 10,000 queries and sync API up to 100 queries.

GetImmediateReverseSearchAddressBatch(IEnumerable<ReverseSearchAddressQuery>, CancellationToken)

The Search Address Batch API sends batches of queries to Search Address Reverse API using just a single API call. This Search Address Reverse Batch API can handle up to 100 queries. To send more queries in a batch request, please refer to ReverseSearchAddressBatch(WaitUntil, IEnumerable<ReverseSearchAddressQuery>, CancellationToken) long-running operation.

GetImmediateReverseSearchAddressBatchAsync(IEnumerable<ReverseSearchAddressQuery>, CancellationToken)

The Search Address Batch API sends batches of queries to Search Address Reverse API using just a single API call. This Search Address Reverse Batch API can handle up to 100 queries. To send more queries in a batch request, please refer to ReverseSearchAddressBatch(WaitUntil, IEnumerable<ReverseSearchAddressQuery>, CancellationToken) long-running operation.

GetImmediateSearchAddressBatch(IEnumerable<SearchAddressQuery>, CancellationToken)

The Search Address Batch API sends batches of queries to Search Address API using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to 10,000 queries and sync API up to 100 queries. To send more queries in a batch request, please refer to SearchAddressBatch(WaitUntil, IEnumerable<SearchAddressQuery>, CancellationToken) long-running operation.

GetImmediateSearchAddressBatchAsync(IEnumerable<SearchAddressQuery>, CancellationToken)

The Search Address Batch API sends batches of queries to Search Address API using just a single API call. This Search Address Batch API can handle up to 100 queries. To send more queries in a batch request, please refer to SearchAddressBatch(WaitUntil, IEnumerable<SearchAddressQuery>, CancellationToken) long-running operation.

GetPointOfInterestCategoryTree(Nullable<SearchLanguage>, CancellationToken)

Get POI Category Tree API. POI Category API provides a full list of supported Points of Interest (POI) categories and subcategories together with their translations and synonyms. The returned content can be used to provide more meaningful results through other Search Service APIs, like Get Search POI.

GetPointOfInterestCategoryTreeAsync(Nullable<SearchLanguage>, CancellationToken)

Get POI Category Tree API. POI Category API provides a full list of supported Points of Interest (POI) categories and subcategories together with their translations and synonyms. The returned content can be used to provide more meaningful results through other Search Service APIs, like Get Search POI.

GetPolygons(IEnumerable<String>, CancellationToken)

The Get Polygon service allows you to request the geometry data such as a city or country outline for a set of entities, previously retrieved from an Online Search request in GeoJSON format. The geometry ID is returned in the sourceGeometry object under "geometry" and "id" in either a Search Address or Search Fuzzy call.

GetPolygonsAsync(IEnumerable<String>, CancellationToken)

The Get Polygon service allows you to request the geometry data such as a city or country outline for a set of entities, previously retrieved from an Online Search request in GeoJSON format. The geometry ID is returned in the sourceGeometry object under "geometry" and "id" in either a Search Address or Search Fuzzy call.

ReverseSearchAddress(ReverseSearchOptions, CancellationToken)

Reverse geocode to an address. There may be times when you need to translate a pair of coordinates (example: 37.786505, -122.3862) into a human understandable street address. Most often this is needed in tracking applications where you receive a GPS feed from the device or asset and wish to know what address where the a pair of coordinates is located. This endpoint will return address information for a given coordinate.

ReverseSearchAddressAsync(ReverseSearchOptions, CancellationToken)

Reverse geocode to an address. There may be times when you need to translate a pair of coordinates (example: 37.786505, -122.3862) into a human understandable street address. Most often this is needed in tracking applications where you receive a GPS feed from the device or asset and wish to know what address where the a pair of coordinates is located. This endpoint will return address information for a given coordinate.

ReverseSearchAddressBatch(WaitUntil, IEnumerable<ReverseSearchAddressQuery>, CancellationToken)

The Search Address Reverse Batch API sends batches of queries to Search Address Reverse API using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to 10,000 queries and sync API up to 100 queries.

ReverseSearchAddressBatchAsync(WaitUntil, IEnumerable<ReverseSearchAddressQuery>, CancellationToken)

The Search Address Reverse Batch API sends batches of queries to Search Address Reverse API using just a single API call. This Search Address Reverse Batch API can handle up to 10000 queries.

ReverseSearchCrossStreetAddress(ReverseSearchCrossStreetOptions, CancellationToken)

Reverse geocode to a cross street. There may be times when you need to translate a a pair of coordinates (example: 37.786505, -122.3862) into a human understandable cross street. Most often this is needed in tracking applications where you receive a GPS feed from the device or asset and wish to know what address where the a pair of coordinates is located. This endpoint will return cross street information for a given coordinate.

ReverseSearchCrossStreetAddressAsync(ReverseSearchCrossStreetOptions, CancellationToken)

Reverse geocode to a cross street. There may be times when you need to translate a a pair of coordinates (example: 37.786505, -122.3862) into a human understandable cross street. Most often this is needed in tracking applications where you receive a GPS feed from the device or asset and wish to know what address where the a pair of coordinates is located. This endpoint will return cross street information for a given coordinate.

SearchAddress(String, SearchAddressOptions, CancellationToken)

Address geocoding. The geocoding is performed by hitting the geocode endpoint with just the address or partial address in question. The geocoding search index will be queried for everything above the street level data. No POIs will be returned. Note that the geocoder is very tolerant of typos and incomplete addresses. It will also handle everything from exact street addresses or street or intersections as well as higher level geographies such as city centers, counties, states etc.

SearchAddressAsync(String, SearchAddressOptions, CancellationToken)

Address geocoding. The geocoding is performed by hitting the geocode endpoint with just the address or partial address in question. The geocoding search index will be queried for everything above the street level data. No POIs will be returned. Note that the geocoder is very tolerant of typos and incomplete addresses. It will also handle everything from exact street addresses or street or intersections as well as higher level geographies such as city centers, counties, states etc.

SearchAddressBatch(WaitUntil, IEnumerable<SearchAddressQuery>, CancellationToken)

The Search Address Batch API sends batches of queries to Search Address API using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to 10,000 queries and sync API up to 100 queries.

SearchAddressBatchAsync(WaitUntil, IEnumerable<SearchAddressQuery>, CancellationToken)

The Search Address Batch API sends batches of queries to Search Fuzzy API using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to 10,000 queries and sync API up to 100 queries.

SearchInsideGeometry(String, GeoCollection, SearchInsideGeometryOptions, CancellationToken)

Search inside geometry. The Search Geometry endpoint allows you to perform a free form search inside a single geometry or many of them. The search results that fall inside the geometry/geometries will be returned.<br><br>To send the geometry you will use a POST request where the request body will contain the geometry object represented as a GeoJSON type and the Content-Type header will be set to application/json. The geographical features to be searched can be modeled as Polygon and/or Circle geometries represented using any one of the following GeoJSON types:<ul><li>GeoJSON FeatureCollection <br>The geometry can be represented as a GeoJSON FeatureCollection object. This is the recommended option if the geometry contains both Polygons and Circles. The FeatureCollection can contain a max of 50 GeoJSON Feature objects. Each Feature object should represent either a Polygon or a Circle with the following conditions:<ul style="list-style-type:none"><li>A Feature object for the Polygon geometry can have a max of 50 coordinates and it's properties must be empty.</li><li>A Feature object for the Circle geometry is composed of a center represented using a GeoJSON Point type and a radius value (in meters) which must be specified in the object's properties along with the subType property whose value should be 'Circle'.</li></ul><br> Please see the Examples section below for a sample FeatureCollection representation.<br><br></li><li>GeoJSON GeometryCollection<br>The geometry can be represented as a GeoJSON GeometryCollection object. This is the recommended option if the geometry contains a list of Polygons only. The GeometryCollection can contain a max of 50 GeoJSON Polygon objects. Each Polygon object can have a max of 50 coordinates. Please see the Examples section below for a sample GeometryCollection representation.<br><br></li><li>GeoJSON Polygon<br>The geometry can be represented as a GeoJSON Polygon object. This is the recommended option if the geometry contains a single Polygon. The Polygon object can have a max of 50 coordinates. Please see the Examples section below for a sample Polygon representation.<br><br></li></ul>.<br><br>

SearchInsideGeometry(String, GeoObject, SearchInsideGeometryOptions, CancellationToken)

Search inside geometry. The Search Geometry endpoint allows you to perform a free form search inside a single geometry or many of them. The search results that fall inside the geometry/geometries will be returned.<br><br>To send the geometry you will use a POST request where the request body will contain the geometry object represented as a GeoJSON type and the Content-Type header will be set to application/json. The geographical features to be searched can be modeled as Polygon and/or Circle geometries represented using any one of the following GeoJSON types:<ul><li>GeoJSON FeatureCollection <br>The geometry can be represented as a GeoJSON FeatureCollection object. This is the recommended option if the geometry contains both Polygons and Circles. The FeatureCollection can contain a max of 50 GeoJSON Feature objects. Each Feature object should represent either a Polygon or a Circle with the following conditions:<ul style="list-style-type:none"><li>A Feature object for the Polygon geometry can have a max of 50 coordinates and it's properties must be empty.</li><li>A Feature object for the Circle geometry is composed of a center represented using a GeoJSON Point type and a radius value (in meters) which must be specified in the object's properties along with the subType property whose value should be 'Circle'.</li></ul><br> Please see the Examples section below for a sample FeatureCollection representation.<br><br></li><li>GeoJSON GeometryCollection<br>The geometry can be represented as a GeoJSON GeometryCollection object. This is the recommended option if the geometry contains a list of Polygons only. The GeometryCollection can contain a max of 50 GeoJSON Polygon objects. Each Polygon object can have a max of 50 coordinates. Please see the Examples section below for a sample GeometryCollection representation.<br><br></li><li>GeoJSON Polygon<br>The geometry can be represented as a GeoJSON Polygon object. This is the recommended option if the geometry contains a single Polygon. The Polygon object can have a max of 50 coordinates. Please see the Examples section below for a sample Polygon representation.<br><br></li></ul>.<br><br>

SearchInsideGeometryAsync(String, GeoCollection, SearchInsideGeometryOptions, CancellationToken)

Search inside geometry. The Search Geometry endpoint allows you to perform a free form search inside a single geometry or many of them. The search results that fall inside the geometry/geometries will be returned.<br><br>To send the geometry you will use a POST request where the request body will contain the geometry object represented as a GeoJSON type and the Content-Type header will be set to application/json. The geographical features to be searched can be modeled as Polygon and/or Circle geometries represented using any one of the following GeoJSON types:<ul><li>GeoJSON FeatureCollection <br>The geometry can be represented as a GeoJSON FeatureCollection object. This is the recommended option if the geometry contains both Polygons and Circles. The FeatureCollection can contain a max of 50 GeoJSON Feature objects. Each Feature object should represent either a Polygon or a Circle with the following conditions:<ul style="list-style-type:none"><li>A Feature object for the Polygon geometry can have a max of 50 coordinates and it's properties must be empty.</li><li>A Feature object for the Circle geometry is composed of a center represented using a GeoJSON Point type and a radius value (in meters) which must be specified in the object's properties along with the subType property whose value should be 'Circle'.</li></ul><br> Please see the Examples section below for a sample FeatureCollection representation.<br><br></li><li>GeoJSON GeometryCollection<br>The geometry can be represented as a GeoJSON GeometryCollection object. This is the recommended option if the geometry contains a list of Polygons only. The GeometryCollection can contain a max of 50 GeoJSON Polygon objects. Each Polygon object can have a max of 50 coordinates. Please see the Examples section below for a sample GeometryCollection representation.<br><br></li><li>GeoJSON Polygon<br>The geometry can be represented as a GeoJSON Polygon object. This is the recommended option if the geometry contains a single Polygon. The Polygon object can have a max of 50 coordinates. Please see the Examples section below for a sample Polygon representation.<br><br></li></ul>.<br><br>

SearchInsideGeometryAsync(String, GeoObject, SearchInsideGeometryOptions, CancellationToken)

Search inside geometry. The Search Geometry endpoint allows you to perform a free form search inside a single geometry or many of them. The search results that fall inside the geometry/geometries will be returned.<br><br>To send the geometry you will use a POST request where the request body will contain the geometry object represented as a GeoJSON type and the Content-Type header will be set to application/json. The geographical features to be searched can be modeled as Polygon and/or Circle geometries represented using any one of the following GeoJSON types:<ul><li>GeoJSON FeatureCollection <br>The geometry can be represented as a GeoJSON FeatureCollection object. This is the recommended option if the geometry contains both Polygons and Circles. The FeatureCollection can contain a max of 50 GeoJSON Feature objects. Each Feature object should represent either a Polygon or a Circle with the following conditions:<ul style="list-style-type:none"><li>A Feature object for the Polygon geometry can have a max of 50 coordinates and it's properties must be empty.</li><li>A Feature object for the Circle geometry is composed of a center represented using a GeoJSON Point type and a radius value (in meters) which must be specified in the object's properties along with the subType property whose value should be 'Circle'.</li></ul><br> Please see the Examples section below for a sample FeatureCollection representation.<br><br></li><li>GeoJSON GeometryCollection<br>The geometry can be represented as a GeoJSON GeometryCollection object. This is the recommended option if the geometry contains a list of Polygons only. The GeometryCollection can contain a max of 50 GeoJSON Polygon objects. Each Polygon object can have a max of 50 coordinates. Please see the Examples section below for a sample GeometryCollection representation.<br><br></li><li>GeoJSON Polygon<br>The geometry can be represented as a GeoJSON Polygon object. This is the recommended option if the geometry contains a single Polygon. The Polygon object can have a max of 50 coordinates. Please see the Examples section below for a sample Polygon representation.<br><br></li></ul>.<br><br>

SearchNearbyPointOfInterest(SearchNearbyPointOfInterestOptions, CancellationToken)

Nearby search API. If you have a use case for only retrieving POI results around a specific location, the nearby search method may be the right choice. This endpoint will only return POI results, and does not take in a search query parameter.

SearchNearbyPointOfInterestAsync(SearchNearbyPointOfInterestOptions, CancellationToken)

Nearby search API. If you have a use case for only retrieving POI results around a specific location, the nearby search method may be the right choice. This endpoint will only return POI results, and does not take in a search query parameter.

SearchPointOfInterest(String, Nullable<Boolean>, Nullable<OperatingHoursRange>, GeoBoundingBox, SearchPointOfInterestOptions, CancellationToken)

Points of Interest (POI) Search allows you to request POI results by name. Search supports additional query parameters such as language and filtering results by area of interest driven by country or bounding box. Endpoint will return only POI results matching the query string. Response includes POI details such as address, a pair of coordinates location and category.

SearchPointOfInterestAlongRoute(String, Int32, GeoLineString, SearchAlongRouteOptions, CancellationToken)

The Search Along Route endpoint allows you to perform a fuzzy search for POIs along a specified route. This search is constrained by specifying the maxDetourTime limiting measure.<br><br>To send the route-points you will use a POST request where the request body will contain the route object represented as a GeoJSON LineString type and the Content-Type header will be set to application/json. Each route-point in route is represented as a GeoJSON Position type i.e. an array where the longitude value is followed by the latitude value and the altitude value is ignored. The route should contain at least 2 route-points.<br><br>It is possible that original route will be altered, some of it's points may be skipped. If the route that passes through the found point is faster than the original one, the detourTime value in the response is negative.

SearchPointOfInterestAlongRouteAsync(String, Int32, GeoLineString, SearchAlongRouteOptions, CancellationToken)

The Search Along Route endpoint allows you to perform a fuzzy search for POIs along a specified route. This search is constrained by specifying the maxDetourTime limiting measure.<br><br>To send the route-points you will use a POST request where the request body will contain the route object represented as a GeoJSON LineString type and the Content-Type header will be set to application/json. Each route-point in route is represented as a GeoJSON Position type i.e. an array where the longitude value is followed by the latitude value and the altitude value is ignored. The route should contain at least 2 route-points.<br><br>It is possible that original route will be altered, some of it's points may be skipped. If the route that passes through the found point is faster than the original one, the detourTime value in the response is negative.

SearchPointOfInterestAsync(String, Nullable<Boolean>, Nullable<OperatingHoursRange>, GeoBoundingBox, SearchPointOfInterestOptions, CancellationToken)

Points of Interest (POI) Search allows you to request POI results by name. Search supports additional query parameters such as language and filtering results by area of interest driven by country or bounding box. Endpoint will return only POI results matching the query string. Response includes POI details such as address, a pair of coordinates location and category.

SearchPointOfInterestCategory(SearchPointOfInterestCategoryOptions, CancellationToken)

Get POI by Category API. Points of Interest (POI) Category Search allows you to request POI results from given category. Search allows to query POIs from one category at a time. Endpoint will only return POI results which are categorized as specified. Response includes POI details such as address, a pair of coordinates location and classification.

SearchPointOfInterestCategoryAsync(SearchPointOfInterestCategoryOptions, CancellationToken)

Get POI by Category API. Points of Interest (POI) Category Search allows you to request POI results from given category. Search allows to query POIs from one category at a time. Endpoint will only return POI results which are categorized as specified. Response includes POI details such as address, a pair of coordinates location and classification.

SearchStructuredAddress(StructuredAddress, SearchStructuredAddressOptions, CancellationToken)

Structured address geocoding. The geocoding search index will be queried for everything above the street level data. No POIs will be returned. Note that the geocoder is very tolerant of typos and incomplete addresses. It will also handle everything from exact street addresses or street or intersections as well as higher level geographies such as city centers, counties, states etc.

SearchStructuredAddressAsync(StructuredAddress, SearchStructuredAddressOptions, CancellationToken)

Structured address geocoding. The geocoding search index will be queried for everything above the street level data. No POIs will be returned. Note that the geocoder is very tolerant of typos and incomplete addresses. It will also handle everything from exact street addresses or street or intersections as well as higher level geographies such as city centers, counties, states etc.

Applies to