X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/2be00f37c175630e23e1ee6a4aa6897fda41eb33..e842d8793c1c416a75bbae39c004184f1ed66289:/lib/template/details-html.php?ds=sidebyside diff --git a/lib/template/details-html.php b/lib/template/details-html.php index e536e202..71fcc7b3 100644 --- a/lib/template/details-html.php +++ b/lib/template/details-html.php @@ -1,191 +1,258 @@ - - - OpenStreetMap Nominatim: <?php echo $aPointDetails['localname'];?> - - - - - - - -
-'; - if ($aPointDetails['icon']) + elseif ($fDistance < 1000) + { + return'~'.(round($fDistance,0)).' m'; + } + else + { + return'~'.(round($fDistance/1000,1)).' km'; + } + } + + function kv($sKey,$sValue) { - echo ''; + echo ' ' . $sKey . ''.$sValue.''. "\n"; } - echo $aPointDetails['localname'].''; - echo '
'; - echo '
Name: '; - foreach($aPointDetails['aNames'] as $sKey => $sValue) + + + function hash_to_subtable($aAssociatedList) { - echo '
'.$sValue.' ('.$sKey.')
'; + $sHTML = ''; + foreach($aAssociatedList as $sKey => $sValue) + { + $sHTML = $sHTML.'
'.$sValue.' ('.$sKey.')
'."\n"; + } + return $sHTML; } - echo '
'; - echo '
Type: '.$aPointDetails['class'].':'.$aPointDetails['type'].'
'; - echo '
Admin Level: '.$aPointDetails['admin_level'].'
'; - echo '
Rank: '.$aPointDetails['rank_search_label'].'
'; - echo '
Coverage: '.($aPointDetails['isarea']=='t'?'Polygon':'Point').'
'; - $sOSMType = ($aPointDetails['osm_type'] == 'N'?'node':($aPointDetails['osm_type'] == 'W'?'way':($aPointDetails['osm_type'] == 'R'?'relation':''))); - if ($sOSMType) echo '
OSM: '.$sOSMType.' '.$aPointDetails['osm_id'].'
'; - echo '
Extra Tags: '; - foreach($aPointDetails['aExtraTags'] as $sKey => $sValue) + + function map_icon($sIcon) { - echo '
'.$sValue.' ('.$sKey.')
'; + if ($sIcon){ + echo ''.$sIcon.''; + } } - echo '
'; - echo '
'; - - echo '

Address

'; - echo '
'; - $iPrevRank = 1000000; - $sPrevLocalName = ''; - foreach($aAddressLines as $aAddressLine) - { - $sOSMType = ($aAddressLine['osm_type'] == 'N'?'node':($aAddressLine['osm_type'] == 'W'?'way':($aAddressLine['osm_type'] == 'R'?'relation':''))); - - echo '
'; - if (!($iPrevRank<=$aAddressLine['rank_address'] || $sPrevLocalName == $aAddressLine['localname'])) + + + 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['admin_level']) ? $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)) { - $iPrevRank = $aAddressLine['rank_address']; - $sPrevLocalName = $aAddressLine['localname']; + echo 'word id: '.$word_id; } - echo ''.(trim($aAddressLine['localname'])?$aAddressLine['localname']:'No Name').''; - echo ' ('; - echo 'Type: '.$aAddressLine['class'].':'.$aAddressLine['type'].''; - if ($sOSMType) echo ', '.$sOSMType.' '.$aAddressLine['osm_id'].''; - echo ', '.$aAddressLine['admin_level'].''; - echo ', '.$aAddressLine['rank_search_label'].''; - echo ', '.($aAddressLine['fromarea']=='t'?'Polygon':'Point').''; - echo ', '.$aAddressLine['distance'].''; - echo ' GOTO'; - echo ')'; - echo '
'; + echo "\n"; } - echo '
'; +?> + + + + + +
+
+
+

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

Address

+ + + + + + + + + + + + + + + + + + +Parent Of (named features only):'; + headline('Parent Of'); $aGroupedAddressLines = array(); foreach($aParentOfLines as $aAddressLine) { - if (!isset($aGroupedAddressLines[$aAddressLine['type']])) $aGroupedAddressLines[$aAddressLine['type']] = array(); - $aGroupedAddressLines[$aAddressLine['type']][] = $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

"; - foreach($aParentOfLines as $aAddressLine) - { - $aAddressLine['localname'] = $aAddressLine['localname']?$aAddressLine['localname']:$aAddressLine['housenumber']; - $sOSMType = ($aAddressLine['osm_type'] == 'N'?'node':($aAddressLine['osm_type'] == 'W'?'way':($aAddressLine['osm_type'] == 'R'?'relation':''))); - - echo '
'; - echo ''.(trim($aAddressLine['localname'])?$aAddressLine['localname']:'No Name').''; - echo ' ('; -// echo 'Type: '.$aAddressLine['class'].':'.$aAddressLine['type'].''; -// echo ', '.$aAddressLine['admin_level'].''; -// echo ', '.$aAddressLine['rank_address'].''; - echo ''.($aAddressLine['isarea']=='t'?'Polygon':'Point').''; - echo ', ~'.(round($aAddressLine['distance']*69,1)).' miles'; - if ($sOSMType) echo ', '.$sOSMType.' '.$aAddressLine['osm_id'].''; - echo ', GOTO'; - echo ')'; - echo '
'; + headline3($sGroupHeading); + + foreach($aParentOfLines as $aAddressLine) + { + _one_row($aAddressLine); + } } + if (sizeof($aParentOfLines) >= 500) { + echo '

There are more child objects which are not shown.

'; } - echo ''; } -// echo '

Other Parts:

'; -// echo '

Linked To:

'; + echo "
Local nameTypeOSMAdmin levelDistance
\n"; ?> - +
+
+
+ + + + + + +