PHP Extension
PHP Extension
Azure Maps Get Search Address
See more Azure Maps Examples
Get information for a given address.Chilkat PHP Extension Downloads
<?php
include("chilkat.php");
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
$http = new CkHttp();
$http->put_Accept('application/json');
$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');
$strResp = $http->quickGetStr($url);
if ($http->get_LastMethodSuccess() != true) {
print $http->lastErrorText() . "\n";
exit;
}
print 'Response Status Code: ' . $http->get_LastStatus() . "\n";
$jsonResponse = new CkJsonObject();
$jsonResponse->Load($strResp);
$jsonResponse->put_EmitCompact(false);
print $jsonResponse->emit() . "\n";
if ($http->get_LastStatus() != 200) {
print 'Failed.' . "\n";
exit;
}
// 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
// }
// }
// ]
// }
// ]
// }
//
$summaryQuery = $jsonResponse->stringOf('summary.query');
$summaryQueryType = $jsonResponse->stringOf('summary.queryType');
$summaryQueryTime = $jsonResponse->IntOf('summary.queryTime');
$summaryNumResults = $jsonResponse->IntOf('summary.numResults');
$summaryOffset = $jsonResponse->IntOf('summary.offset');
$summaryTotalResults = $jsonResponse->IntOf('summary.totalResults');
$summaryFuzzyLevel = $jsonResponse->IntOf('summary.fuzzyLevel');
$i = 0;
$count_i = $jsonResponse->SizeOfArray('results');
while ($i < $count_i) {
$jsonResponse->put_I($i);
$v_type = $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;
$count_j = $jsonResponse->SizeOfArray('results[i].entryPoints');
while ($j < $count_j) {
$jsonResponse->put_J($j);
$v_type = $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 = $j + 1;
}
$i = $i + 1;
}
?>