Sample code for 30+ languages & platforms
PHP Extension

Azure Maps Get Search Address

See more Azure Maps Examples

Get information for a given address.

Chilkat PHP Extension Downloads

PHP Extension
<?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;
}


?>