X-Git-Url: https://git.openstreetmap.org/nominatim.git/blobdiff_plain/851af3db7f54d489df0e6b6e9d16b6ee7d4d98fc..27bc8d4f7bb907699dbb974e8159f75bead831c9:/lib/template/details-html.php diff --git a/lib/template/details-html.php b/lib/template/details-html.php index da36167c..ef7d9248 100644 --- a/lib/template/details-html.php +++ b/lib/template/details-html.php @@ -1,269 +1,262 @@ - + + - ".$sTitle."\n"; - } - - function osm_link($aFeature) - { - $sOSMType = ($aFeature['osm_type'] == 'N'?'node':($aFeature['osm_type'] == 'W'?'way':($aFeature['osm_type'] == 'R'?'relation':''))); - if ($sOSMType) { - return ''.$sOSMType.' '.$aFeature['osm_id'].''; - } - return ''; - } - - function wikipedia_link($aFeature) - { - if ($aFeature['wikipedia']) - { - list($sWikipediaLanguage,$sWikipediaArticle) = explode(':',$aFeature['wikipedia']); - return ''.$aFeature['wikipedia'].''; - } - return ''; - } - - function nominatim_link($aFeature, $sTitle) - { - return ''.$sTitle.''; - } - - function format_distance($fDistance) - { - return'~'.(round($fDistance,1)).' km'; - } - - function kv($sKey,$sValue) - { - echo ' ' . $sKey . ''.$sValue.''. "\n"; - } - - - function hash_to_subtable($aAssociatedList) - { - $sHTML = ''; - foreach($aAssociatedList as $sKey => $sValue) - { - $sHTML = $sHTML.'
'.$sValue.' ('.$sKey.')
'."\n"; - } - return $sHTML; - } - - // function hash_to_subtable($aAssociatedList) - // { - // $sHTML = ''; - // foreach($aAssociatedList as $sKey => $sValue) - // { - // $sHTML = $sHTML . ''."\n"; - // } - // $sHTML = $sHTML . '
'.$sKey.''.$sValue.'
'; - // return $sHTML; - // } - - - function map_icon($sIcon) - { - if ($sIcon){ - echo ''.$sIcon.''; - } - } - - - function _one_row($aAddressLine){ - $bNotUsed = (isset($aAddressLine['isaddress']) && $aAddressLine['isaddress'] == 'f'); - - echo ''; - echo ' '.(trim($aAddressLine['localname'])?$aAddressLine['localname']:'No Name').''; - echo ' ' . $aAddressLine['class'].':'.$aAddressLine['type'] . ''; - echo ' ' . osm_link($aAddressLine) . ''; - echo ' ' . (isset($aAddressLine['admin_level']) ? $aAddressLine['admin_level'] : '') . ''; - // echo '' . (isset($aAddressLine['rank_search_label']) ? $aAddressLine['rank_search_label'] : '') .''; - // echo ', '.($aAddressLine['fromarea']=='t'?'Polygon':'Point').''; - echo ' ' . format_distance($aAddressLine['distance']).'';; - echo ' ' . nominatim_link($aAddressLine,'details >') . '';; - echo "\n"; - } + function headline($sTitle) + { + echo "

".$sTitle."

\n"; + } + + function headline3($sTitle) + { + echo "

".$sTitle."

\n"; + } + + + function format_distance($fDistance) + { + // $fDistance is in meters + if ($fDistance < 1) + { + return '0'; + } + elseif ($fDistance < 1000) + { + return'~'.(round($fDistance,0)).' m'; + } + else + { + return'~'.(round($fDistance/1000,1)).' km'; + } + } + + function kv($sKey,$sValue) + { + echo ' ' . $sKey . ''.$sValue.''. "\n"; + } + + + function hash_to_subtable($aAssociatedList) + { + $sHTML = ''; + foreach($aAssociatedList as $sKey => $sValue) + { + $sHTML = $sHTML.'
'.$sValue.' ('.$sKey.')
'."\n"; + } + return $sHTML; + } + + function map_icon($sIcon) + { + if ($sIcon){ + echo ''.$sIcon.''; + } + } + + + function _one_row($aAddressLine){ + $bNotUsed = (isset($aAddressLine['isaddress']) && $aAddressLine['isaddress'] == 'f'); + + echo ''."\n"; + echo ' '.(trim($aAddressLine['localname'])?$aAddressLine['localname']:'No Name')."\n"; + echo ' ' . $aAddressLine['class'].':'.$aAddressLine['type'] . "\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 "\n"; + } + + function _one_keyword_row($keyword_token,$word_id){ + echo "\n"; + echo ''; + // mark partial tokens (those starting with a space) with a star for readability + echo ($keyword_token[0]==' '?'*':''); + echo $keyword_token; + if (isset($word_id)) + { + echo 'word id: '.$word_id; + } + echo "\n"; + } ?> -
-
-
-

-
-
- -
-
-
-
- - - - -
-
- -
-
-
- -
-
-
- -

Address

- - - - - - - - - - - - - - - - - - -
Local nameTypeOSMAdmin levelDistance
+ +
+
+
+

+
+
+ +
+
+
+
+ + + + +
+
+ +
+
+
+ +
+
+
+ +

Address

+ + + + + + + + + + + + + + + + + '; - foreach($aLinkedLines as $aAddressLine) - { - _one_row($aAddressLine); - } - echo '
Local nameTypeOSMAddress rankAdmin levelDistance
'; - } - - - - if ($aPlaceSearchNameKeywords) - { - headline('Name Keywords'); - foreach($aPlaceSearchNameKeywords as $aRow) - { - echo '
'.$aRow['word_token']."
\n"; - } - } - - if ($aPlaceSearchAddressKeywords) - { - headline('Address Keywords'); - foreach($aPlaceSearchAddressKeywords as $aRow) - { - echo '
'.($aRow['word_token'][0]==' '?'*':'').$aRow['word_token'].'('.$aRow['word_id'].')'."
\n"; - } - } - - if (sizeof($aParentOfLines)) - { - headline('Parent Of'); - - $aGroupedAddressLines = array(); - foreach($aParentOfLines as $aAddressLine) - { - if ($aAddressLine['type'] == 'yes') $sType = $aAddressLine['class']; - else $sType = $aAddressLine['type']; - - if (!isset($aGroupedAddressLines[$sType])) - $aGroupedAddressLines[$sType] = array(); - $aGroupedAddressLines[$sType][] = $aAddressLine; - } - foreach($aGroupedAddressLines as $sGroupHeading => $aParentOfLines) - { - $sGroupHeading = ucwords($sGroupHeading); - echo "

$sGroupHeading

\n"; - - echo ''; - foreach($aParentOfLines as $aAddressLine) - { - _one_row($aAddressLine); - } - echo '
'; - } - if (sizeof($aParentOfLines) >= 500) { - echo '

There are more child objects which are not shown.

'; - } - } - - // headline('Other Parts'); - // headline('Linked To'); + if ($aLinkedLines) + { + headline('Linked Places'); + foreach($aLinkedLines as $aAddressLine) + { + _one_row($aAddressLine); + } + } + + + + if ($aPlaceSearchNameKeywords) + { + headline('Name Keywords'); + foreach($aPlaceSearchNameKeywords as $aRow) + { + _one_keyword_row($aRow['word_token'], $aRow['word_id']); + } + } + + if ($aPlaceSearchAddressKeywords) + { + headline('Address Keywords'); + foreach($aPlaceSearchAddressKeywords as $aRow) + { + _one_keyword_row($aRow['word_token'], $aRow['word_id']); + } + } + + if (!empty($aParentOfLines)) + { + headline('Parent Of'); + + $aGroupedAddressLines = array(); + foreach($aParentOfLines as $aAddressLine) + { + if ($aAddressLine['type'] == 'yes') $sType = $aAddressLine['class']; + else $sType = $aAddressLine['type']; + + if (!isset($aGroupedAddressLines[$sType])) + $aGroupedAddressLines[$sType] = array(); + $aGroupedAddressLines[$sType][] = $aAddressLine; + } + foreach($aGroupedAddressLines as $sGroupHeading => $aParentOfLines) + { + $sGroupHeading = ucwords($sGroupHeading); + headline3($sGroupHeading); + + foreach($aParentOfLines as $aAddressLine) + { + _one_row($aAddressLine); + } + } + if (count($aParentOfLines) >= 500) { + echo '

There are more child objects which are not shown.

'; + } + } + + echo "\n"; ?> -
-
-
+
+
+
- + + ?> + - - + +