X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/bfe51197429c9436034bb4d25931ad4d687d09c8..c346c57341c344c6352dc2e6f6ae6c0aeaed8a94:/lib/template/details-html.php
diff --git a/lib/template/details-html.php b/lib/template/details-html.php
index c438659b..3e9e39d7 100644
--- a/lib/template/details-html.php
+++ b/lib/template/details-html.php
@@ -1,236 +1,301 @@
-
-
- OpenStreetMap Nominatim:
-
-
-
-
-
-
-
-';
- if ($aPointDetails['icon'])
+ return '';
+ }
+
+ function wikipedia_link($aFeature)
{
- echo '';
+ if ($aFeature['wikipedia'])
+ {
+ list($sWikipediaLanguage,$sWikipediaArticle) = explode(':',$aFeature['wikipedia']);
+ return ''.$aFeature['wikipedia'].'';
+ }
+ return '';
}
- echo $aPointDetails['localname'].'';
- echo '';
- echo '
Name: ';
- foreach($aPointDetails['aNames'] as $sKey => $sValue)
+
+ function nominatim_link($aFeature, $sTitle)
{
- echo '
'.$sValue.' ('.$sKey.')
';
+ return '
'.$sTitle.'';
}
- 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 '
';
- echo '
Extra Tags: ';
- foreach($aPointDetails['aExtraTags'] as $sKey => $sValue)
+
+ function format_distance($fDistance)
{
- echo '
'.$sValue.' ('.$sKey.')
';
+ // $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";
}
- 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 hash_to_subtable($aAssociatedList)
+ {
+ $sHTML = '';
+ foreach($aAssociatedList as $sKey => $sValue)
{
- $iPrevRank = $aAddressLine['rank_address'];
- $sPrevLocalName = $aAddressLine['localname'];
+ $sHTML = $sHTML.'
'.$sValue.' ('.$sKey.')
'."\n";
}
- 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 '
';
+ return $sHTML;
}
- echo '
';
+
+ // 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 '';
+ }
+ }
+
+
+ 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 (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:
';
+ // headline('Other Parts');
+ // headline('Linked To');
+
+ echo "
\n";
?>
-
+
+
+
+
+
+
+
+
+
+