X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/26bd8304c65746b59dd45fc0965343fb3637f6f8..d3f7465ccad9cce6c84f0b089282c5ece550c5ed:/lib/template/details-html.php?ds=sidebyside diff --git a/lib/template/details-html.php b/lib/template/details-html.php index 328786e2..c15e74c8 100644 --- a/lib/template/details-html.php +++ b/lib/template/details-html.php @@ -20,20 +20,25 @@ } - function format_distance($fDistance) + function format_distance($fDistance, $bInMeters = false) { - // $fDistance is in meters - if ($fDistance < 1) - { - return '0'; - } - elseif ($fDistance < 1000) - { - return'~'.(round($fDistance,0)).' m'; - } - else - { - return'~'.(round($fDistance/1000,1)).' km'; + if ($bInMeters) { + // $fDistance is in meters + if ($fDistance < 1) { + return '0'; + } + elseif ($fDistance < 1000) { + return '~'.(round($fDistance,0)).' m'; + } + else { + return '~'.(round($fDistance/1000,1)).' km'; + } + } else { + if ($fDistance == 0) { + return '0'; + } else { + return ''.(round($fDistance,4)).''; + } } } @@ -52,25 +57,33 @@ return $sHTML; } - function map_icon($sIcon) + function map_icon($aPlace) { - if ($sIcon){ - echo ''.$sIcon.''; + $sIcon = Nominatim\ClassTypes\getIconFile($aPlace); + if (isset($sIcon)) { + $sLabel = Nominatim\ClassTypes\getIcon($aPlace); + echo ''.$sLabel.''; } } - function _one_row($aAddressLine){ - $bNotUsed = (isset($aAddressLine['isaddress']) && $aAddressLine['isaddress'] == 'f'); + function _one_row($aAddressLine, $bDistanceInMeters = false){ + $bNotUsed = isset($aAddressLine['isaddress']) && !$aAddressLine['isaddress']; echo ''."\n"; - echo ' '.(trim($aAddressLine['localname'])?$aAddressLine['localname']:'No Name')."\n"; - echo ' ' . $aAddressLine['class'].':'.$aAddressLine['type'] . "\n"; + echo ' '.(trim($aAddressLine['localname'])!==null?$aAddressLine['localname']:'No Name')."\n"; + echo ' ' . $aAddressLine['class'].':'.$aAddressLine['type']; + if ($aAddressLine['type'] == 'administrative' + && isset($aAddressLine['place_type'])) + { + echo '('.$aAddressLine['place_type'].')'; + } + echo "\n"; echo ' ' . osmLink($aAddressLine) . "\n"; echo ' ' . (isset($aAddressLine['rank_address']) ? $aAddressLine['rank_address'] : '') . "\n"; echo ' ' . ($aAddressLine['admin_level'] < 15 ? $aAddressLine['admin_level'] : '') . "\n"; - echo ' ' . format_distance($aAddressLine['distance'])."\n"; - echo ' ' . detailsLink($aAddressLine,'details >') . "\n"; + echo ' ' . format_distance($aAddressLine['distance'], $bDistanceInMeters)."\n"; + echo ' ' . detailsPermaLink($aAddressLine,'details >') . "\n"; echo "\n"; } @@ -98,11 +111,10 @@

-

- +
@@ -119,9 +131,11 @@ if ($aPointDetails['calculated_importance']) { kv('Importance' , $aPointDetails['calculated_importance'].($aPointDetails['importance']?'':' (estimated)') ); } - kv('Coverage' , ($aPointDetails['isarea']=='t'?'Polygon':'Point') ); + kv('Coverage' , ($aPointDetails['isarea']?'Polygon':'Point') ); kv('Centre Point' , $aPointDetails['lat'].','.$aPointDetails['lon'] ); kv('OSM' , osmLink($aPointDetails) ); + kv('Place Id (on this server)' + , $aPointDetails['place_id'] ); if ($aPointDetails['wikipedia']) { kv('Wikipedia Calculated' , wikipediaLink($aPointDetails) ); @@ -173,22 +187,24 @@ { headline('Linked Places'); foreach ($aLinkedLines as $aAddressLine) { - _one_row($aAddressLine); + _one_row($aAddressLine, true); } } - - if ($bIncludeKeywords) { headline('Name Keywords'); - foreach ($aPlaceSearchNameKeywords as $aRow) { - _one_keyword_row($aRow['word_token'], $aRow['word_id']); + if ($aPlaceSearchNameKeywords) { + foreach ($aPlaceSearchNameKeywords as $aRow) { + _one_keyword_row($aRow['word_token'], $aRow['word_id']); + } } headline('Address Keywords'); - foreach ($aPlaceSearchAddressKeywords as $aRow) { - _one_keyword_row($aRow['word_token'], $aRow['word_id']); + if ($aPlaceSearchAddressKeywords) { + foreach ($aPlaceSearchAddressKeywords as $aRow) { + _one_keyword_row($aRow['word_token'], $aRow['word_id']); + } } } @@ -210,7 +226,7 @@ headline3($sGroupHeading); foreach ($aHierarchyLines as $aAddressLine) { - _one_row($aAddressLine); + _one_row($aAddressLine, true); } } if (count($aHierarchyLines) >= 500) {