X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/a7e782353522da11504efd6e1948b86e2a97e7f7..33de9096af645f6783bf3f18e1b389d39e586e2b:/lib/template/details-html.php diff --git a/lib/template/details-html.php b/lib/template/details-html.php index 9ef59563..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 = !$aAddressLine['isaddress']; + 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 @@

-

- +
@@ -122,6 +134,8 @@ 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,7 +187,7 @@ { headline('Linked Places'); foreach ($aLinkedLines as $aAddressLine) { - _one_row($aAddressLine); + _one_row($aAddressLine, true); } } @@ -212,7 +226,7 @@ headline3($sGroupHeading); foreach ($aHierarchyLines as $aAddressLine) { - _one_row($aAddressLine); + _one_row($aAddressLine, true); } } if (count($aHierarchyLines) >= 500) {