Dart
Dart
Azure Maps Get Search Address
See more Azure Maps Examples
Get information for a given address.Chilkat Dart Downloads
import 'package:chilkat/chilkat.dart';
void main() {
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
final http = CkHttp();
http.accept = 'application/json';
final url = 'https://atlas.microsoft.com/search/address/{\$format}?subscription-key=[subscription-key]&api-version=1.0&query={\$query}';
http.setUrlVar('format', 'json');
http.setUrlVar('query', '15127 NE 24th Street, Redmond, WA 98052');
final String strResp;
try {
strResp = http.quickGetStr(url);
} on ChilkatException catch (e) {
print(e.lastErrorText);
return;
}
print('Response Status Code: ${http.lastStatus}');
final jsonResponse = CkJsonObject();
jsonResponse.load(strResp);
jsonResponse.emitCompact = false;
print(jsonResponse.emit());
if (http.lastStatus != 200) {
print('Failed.');
return;
}
// Sample output...
// (See the parsing code below..)
//
// Use this online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
// {
// "summary": {
// "query": "15127 NE 24th Street, Redmond, WA 98052",
// "queryType": "NON_NEAR",
// "queryTime": 58,
// "numResults": 1,
// "offset": 0,
// "totalResults": 1,
// "fuzzyLevel": 1
// },
// "results": [
// {
// "type": "Point Address",
// "id": "US/PAD/p0/19173426",
// "score": 14.51,
// "address": {
// "streetNumber": "15127",
// "streetName": "NE 24th St",
// "municipalitySubdivision": "Redmond",
// "municipality": "Redmond, Adelaide, Ames Lake, Avondale, Earlmount",
// "countrySecondarySubdivision": "King",
// "countryTertiarySubdivision": "Seattle East",
// "countrySubdivision": "WA",
// "postalCode": "98052",
// "extendedPostalCode": "980525544",
// "countryCode": "US",
// "country": "United States Of America",
// "countryCodeISO3": "USA",
// "freeformAddress": "15127 NE 24th St, Redmond, WA 980525544",
// "countrySubdivisionName": "Washington"
// },
// "position": {
// "lat": 47.6308,
// "lon": -122.1385
// },
// "viewport": {
// "topLeftPoint": {
// "lat": 47.6317,
// "lon": -122.13983
// },
// "btmRightPoint": {
// "lat": 47.6299,
// "lon": -122.13717
// }
// },
// "entryPoints": [
// {
// "type": "main",
// "position": {
// "lat": 47.6315,
// "lon": -122.13852
// }
// }
// ]
// }
// ]
// }
//
var i = 0;
var vType = '';
var id = '';
var score = '';
var addressStreetNumber = '';
var addressStreetName = '';
var addressMunicipalitySubdivision = '';
var addressMunicipality = '';
var addressCountrySecondarySubdivision = '';
var addressCountryTertiarySubdivision = '';
var addressCountrySubdivision = '';
var addressPostalCode = '';
var addressExtendedPostalCode = '';
var addressCountryCode = '';
var addressCountry = '';
var addressCountryCodeISO3 = '';
var addressFreeformAddress = '';
var addressCountrySubdivisionName = '';
var positionLat = '';
var positionLon = '';
var viewportTopLeftPointLat = '';
var viewportTopLeftPointLon = '';
var viewportBtmRightPointLat = '';
var viewportBtmRightPointLon = '';
var j = 0;
var countJ = 0;
final summaryQuery = jsonResponse.stringOf('summary.query');
final summaryQueryType = jsonResponse.stringOf('summary.queryType');
final summaryQueryTime = jsonResponse.intOf('summary.queryTime');
final summaryNumResults = jsonResponse.intOf('summary.numResults');
final summaryOffset = jsonResponse.intOf('summary.offset');
final summaryTotalResults = jsonResponse.intOf('summary.totalResults');
final summaryFuzzyLevel = jsonResponse.intOf('summary.fuzzyLevel');
i = 0;
final countI = jsonResponse.sizeOfArray('results');
while (i < countI) {
jsonResponse.i = i;
vType = jsonResponse.stringOf('results[i].type');
id = jsonResponse.stringOf('results[i].id');
score = jsonResponse.stringOf('results[i].score');
addressStreetNumber = jsonResponse.stringOf('results[i].address.streetNumber');
addressStreetName = jsonResponse.stringOf('results[i].address.streetName');
addressMunicipalitySubdivision = jsonResponse.stringOf('results[i].address.municipalitySubdivision');
addressMunicipality = jsonResponse.stringOf('results[i].address.municipality');
addressCountrySecondarySubdivision = jsonResponse.stringOf('results[i].address.countrySecondarySubdivision');
addressCountryTertiarySubdivision = jsonResponse.stringOf('results[i].address.countryTertiarySubdivision');
addressCountrySubdivision = jsonResponse.stringOf('results[i].address.countrySubdivision');
addressPostalCode = jsonResponse.stringOf('results[i].address.postalCode');
addressExtendedPostalCode = jsonResponse.stringOf('results[i].address.extendedPostalCode');
addressCountryCode = jsonResponse.stringOf('results[i].address.countryCode');
addressCountry = jsonResponse.stringOf('results[i].address.country');
addressCountryCodeISO3 = jsonResponse.stringOf('results[i].address.countryCodeISO3');
addressFreeformAddress = jsonResponse.stringOf('results[i].address.freeformAddress');
addressCountrySubdivisionName = jsonResponse.stringOf('results[i].address.countrySubdivisionName');
positionLat = jsonResponse.stringOf('results[i].position.lat');
positionLon = jsonResponse.stringOf('results[i].position.lon');
viewportTopLeftPointLat = jsonResponse.stringOf('results[i].viewport.topLeftPoint.lat');
viewportTopLeftPointLon = jsonResponse.stringOf('results[i].viewport.topLeftPoint.lon');
viewportBtmRightPointLat = jsonResponse.stringOf('results[i].viewport.btmRightPoint.lat');
viewportBtmRightPointLon = jsonResponse.stringOf('results[i].viewport.btmRightPoint.lon');
j = 0;
countJ = jsonResponse.sizeOfArray('results[i].entryPoints');
while (j < countJ) {
jsonResponse.j = j;
vType = jsonResponse.stringOf('results[i].entryPoints[j].type');
positionLat = jsonResponse.stringOf('results[i].entryPoints[j].position.lat');
positionLon = jsonResponse.stringOf('results[i].entryPoints[j].position.lon');
j++;
}
i++;
}
}