$aFull['localname'], 'place_id' => (int) $aFull['place_id'], 'osm_id' => (int) $aFull['osm_id'], 'osm_type' => formatOSMType($aFull['osm_type']), 'class' => $aFull['class'], 'type' => $aFull['type'], 'admin_level' => (int) $aFull['admin_level'], 'rank_address' => (int) $aFull['rank_address'], 'distance' => (float) $aFull['distance'] ]; return $aMapped; }; $funcMapKeywords = function($aFull) { $aMapped = [ 'id' => (int) $aFull['word_id'], 'token' => $aFull['word_token'] ]; return $aMapped; }; if ($aAddressLines) { $aPlaceDetails['address'] = array_map($funcLines, $aAddressLines); } if ($aLinkedLines) { $aPlaceDetails['linked_places'] = array_map($funcLines, $aLinkedLines); } if ($bIncludeKeywords) { $aPlaceDetails['keywords'] = array(); if ($aPlaceSearchNameKeywords) { $aPlaceDetails['keywords']['name'] = array_map($funcKeywords, $aPlaceSearchNameKeywords); } if ($aPlaceSearchAddressKeywords) { $aPlaceDetails['keywords']['address'] = array_map($funcKeywords, $aPlaceSearchAddressKeywords); } } if ($bIncludeChildPlaces) { $aPlaceDetails['parentof'] = array_map($funcLines, $aParentOfLines); if ($bGroupParents) { $aGroupedAddressLines = []; foreach ($aParentOfLines as $aAddressLine) { if ($aAddressLine['type'] == 'yes') $sType = $aAddressLine['class']; else $sType = $aAddressLine['type']; if (!isset($aGroupedAddressLines[$sType])) $aGroupedAddressLines[$sType] = []; $aGroupedAddressLines[$sType][] = $aAddressLine; } $aPlaceDetails['parentof'] = $aGroupedAddressLines; } } javascript_renderData($aPlaceDetails);