X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/db3ced17bbfff00411f506d8c84419c875959d5e..15a66e7b7d79d273f1674f673161cb440458ca7d:/lib-php/template/details-json.php diff --git a/lib-php/template/details-json.php b/lib-php/template/details-json.php index 0449dbb9..ae80a85b 100644 --- a/lib-php/template/details-json.php +++ b/lib-php/template/details-json.php @@ -1,4 +1,12 @@ array( (float) $aPointDetails['lon'], (float) $aPointDetails['lat'] ) ); -$aPlaceDetails['geometry'] = json_decode($aPointDetails['asgeojson']); +$aPlaceDetails['geometry'] = json_decode($aPointDetails['asgeojson'], true); $funcMapAddressLine = function ($aFull) { - $aMapped = array( - 'localname' => $aFull['localname'], - 'place_id' => isset($aFull['place_id']) ? (int) $aFull['place_id'] : null, - 'osm_id' => isset($aFull['osm_id']) ? (int) $aFull['osm_id'] : null, - 'osm_type' => isset($aFull['osm_type']) ? $aFull['osm_type'] : null, - 'place_type' => isset($aFull['place_type']) ? $aFull['place_type'] : null, - 'class' => $aFull['class'], - 'type' => $aFull['type'], - 'admin_level' => isset($aFull['admin_level']) ? (int) $aFull['admin_level'] : null, - 'rank_address' => $aFull['rank_address'] ? (int) $aFull['rank_address'] : null, - 'distance' => (float) $aFull['distance'], - 'isaddress' => isset($aFull['isaddress']) ? (bool) $aFull['isaddress'] : null - ); - - return $aMapped; + return array( + 'localname' => $aFull['localname'], + 'place_id' => isset($aFull['place_id']) ? (int) $aFull['place_id'] : null, + 'osm_id' => isset($aFull['osm_id']) ? (int) $aFull['osm_id'] : null, + 'osm_type' => isset($aFull['osm_type']) ? $aFull['osm_type'] : null, + 'place_type' => isset($aFull['place_type']) ? $aFull['place_type'] : null, + 'class' => $aFull['class'], + 'type' => $aFull['type'], + 'admin_level' => isset($aFull['admin_level']) ? (int) $aFull['admin_level'] : null, + 'rank_address' => $aFull['rank_address'] ? (int) $aFull['rank_address'] : null, + 'distance' => (float) $aFull['distance'], + 'isaddress' => isset($aFull['isaddress']) ? (bool) $aFull['isaddress'] : null + ); }; $funcMapKeyword = function ($aFull) { - $aMapped = array( - 'id' => (int) $aFull['word_id'], - 'token' => $aFull['word_token'] - ); - return $aMapped; + return array( + 'id' => (int) $aFull['word_id'], + 'token' => $aFull['word_token'] + ); }; if ($aAddressLines) { @@ -81,10 +86,14 @@ if ($bIncludeKeywords) { if ($aPlaceSearchNameKeywords) { $aPlaceDetails['keywords']['name'] = array_map($funcMapKeyword, $aPlaceSearchNameKeywords); + } else { + $aPlaceDetails['keywords']['name'] = array(); } if ($aPlaceSearchAddressKeywords) { $aPlaceDetails['keywords']['address'] = array_map($funcMapKeyword, $aPlaceSearchAddressKeywords); + } else { + $aPlaceDetails['keywords']['address'] = array(); } } @@ -92,11 +101,15 @@ if ($bIncludeHierarchy) { if ($bGroupHierarchy) { $aPlaceDetails['hierarchy'] = array(); foreach ($aHierarchyLines as $aAddressLine) { - if ($aAddressLine['type'] == 'yes') $sType = $aAddressLine['class']; - else $sType = $aAddressLine['type']; + if ($aAddressLine['type'] == 'yes') { + $sType = $aAddressLine['class']; + } else { + $sType = $aAddressLine['type']; + } - if (!isset($aPlaceDetails['hierarchy'][$sType])) + if (!isset($aPlaceDetails['hierarchy'][$sType])) { $aPlaceDetails['hierarchy'][$sType] = array(); + } $aPlaceDetails['hierarchy'][$sType][] = $funcMapAddressLine($aAddressLine); } } else {