X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/e02c9b6e69eac1493316dbc69c7e94720c1217a8..279ea25e7debfeef06a0247d55499ee02b6b4de6:/lib/template/details-html.php
diff --git a/lib/template/details-html.php b/lib/template/details-html.php
index e7328b3a..3e9e39d7 100644
--- a/lib/template/details-html.php
+++ b/lib/template/details-html.php
@@ -1,215 +1,301 @@
-
-
-
- OpenStreetMap Nominatim:
-
-
-
-
-
-
-
+
+
+
+
+
+
+
';
- if ($aPointDetails['icon'])
+
+ function headline($sTitle)
{
- echo ' ';
+ echo "".$sTitle." \n";
}
- echo $aPointDetails['localname'].'';
- echo '';
- echo '
Name: ';
- foreach($aPointDetails['aNames'] as $sKey => $sValue)
+
+ function headline3($sTitle)
{
- echo '
'.$sValue.' ('.$sKey.')
';
+ echo "
".$sTitle." \n";
}
- echo '
';
- echo '
Type: '.$aPointDetails['class'].':'.$aPointDetails['type'].'
';
- echo '
Admin Level: '.$aPointDetails['admin_level'].'
';
- echo '
Rank: '.$aPointDetails['rank_search_label'].'
';
- if ($aPointDetails['importance']) echo '
Importance: '.$aPointDetails['importance'].'
';
- 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 '
';
- if ($aPointDetails['wikipedia'])
+
+ function osm_link($aFeature)
{
- list($sWikipediaLanguage,$sWikipediaArticle) = explode(':',$aPointDetails['wikipedia']);
- echo '
';
+ $sOSMType = ($aFeature['osm_type'] == 'N'?'node':($aFeature['osm_type'] == 'W'?'way':($aFeature['osm_type'] == 'R'?'relation':'')));
+ if ($sOSMType)
+ {
+ return '
'.$sOSMType.' '.$aFeature['osm_id'].' ';
+ }
+ return '';
}
- echo '
Extra Tags: ';
- foreach($aPointDetails['aExtraTags'] as $sKey => $sValue)
+
+ function wikipedia_link($aFeature)
+ {
+ if ($aFeature['wikipedia'])
+ {
+ list($sWikipediaLanguage,$sWikipediaArticle) = explode(':',$aFeature['wikipedia']);
+ return '
'.$aFeature['wikipedia'].' ';
+ }
+ return '';
+ }
+
+ function nominatim_link($aFeature, $sTitle)
{
- echo '
'.$sValue.' ('.$sKey.')
';
+ return '
'.$sTitle.' ';
}
- 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 format_distance($fDistance)
+ {
+ // $fDistance is in meters
+ if ($fDistance < 1)
{
- $iPrevRank = $aAddressLine['rank_address'];
- $sPrevLocalName = $aAddressLine['localname'];
+ 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 hash_to_subtable($aAssociatedList)
+ // {
+ // $sHTML = '
';
+ // foreach($aAssociatedList as $sKey => $sValue)
+ // {
+ // $sHTML = $sHTML . ''.$sKey.' '.$sValue.' '."\n";
+ // }
+ // $sHTML = $sHTML . '
';
+ // return $sHTML;
+ // }
+
+
+ function map_icon($sIcon)
+ {
+ if ($sIcon){
+ echo '
';
}
- echo '
'.(trim($aAddressLine['localname'])?$aAddressLine['localname']:'No Name ').' ';
- echo ' (';
- echo '
Type: '.$aAddressLine['class'].':'.$aAddressLine['type'].'';
- if ($sOSMType) echo ',
'.$sOSMType.' '.$aAddressLine['osm_id'].' ';
- if (isset($aAddressLine['admin_level'])) echo ',
'.$aAddressLine['admin_level'].' ';
- if (isset($aAddressLine['rank_search_label'])) echo ',
'.$aAddressLine['rank_search_label'].' ';
-// echo ',
'.($aAddressLine['fromarea']=='t'?'Polygon':'Point').' ';
- echo ',
'.$aAddressLine['distance'].' ';
- echo '
GOTO ';
- echo ')';
- echo '
';
}
- echo '
';
+
+
+ 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 ' ' . osm_link($aAddressLine) . " \n";
+ echo ' ' . (isset($aAddressLine['admin_level']) ? $aAddressLine['admin_level'] : '') . " \n";
+ // echo '' . (isset($aAddressLine['rank_search_label']) ? $aAddressLine['rank_search_label'] : '') ." \n";
+ // echo ', '.($aAddressLine['fromarea']=='t'?'Polygon':'Point').' ';
+ echo ' ' . format_distance($aAddressLine['distance'])." \n";
+ echo ' ' . nominatim_link($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 name
+ Type
+ OSM
+ Admin level
+
+ Distance
+
+
+
+
+
+
+
+
+
+Linked Places';
- echo '';
+ headline('Linked Places');
foreach($aLinkedLines as $aAddressLine)
{
- $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'].'';
- 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 '
';
+ _one_row($aAddressLine);
}
- echo '
';
}
+
+
if ($aPlaceSearchNameKeywords)
{
- echo 'Name Keywords ';
+ headline('Name Keywords');
foreach($aPlaceSearchNameKeywords as $aRow)
{
- echo ''.$aRow['word_token'].'
';
+ _one_keyword_row($aRow['word_token'], $aRow['word_id']);
}
}
if ($aPlaceSearchAddressKeywords)
{
- echo 'Address Keywords ';
+ headline('Address Keywords');
foreach($aPlaceSearchAddressKeywords as $aRow)
{
- echo ''.($aRow['word_token'][0]==' '?'*':'').$aRow['word_token'].'('.$aRow['word_id'].')'.'
';
+ _one_keyword_row($aRow['word_token'], $aRow['word_id']);
}
}
-
+
if (sizeof($aParentOfLines))
{
- echo 'Parent Of: ';
+ 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: ';
+ // headline('Other Parts');
+ // headline('Linked To');
+
+ echo "
\n";
?>
-
+
+
+
+
+
+
+
+
+
+