X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/e02c9b6e69eac1493316dbc69c7e94720c1217a8..f0d962f8a0bd6aac32c07420956c35479d5ec467:/lib/template/details-html.php?ds=sidebyside
diff --git a/lib/template/details-html.php b/lib/template/details-html.php
index e7328b3a..ae36b411 100644
--- a/lib/template/details-html.php
+++ b/lib/template/details-html.php
@@ -1,215 +1,283 @@
-
-
-
- ';
- echo '
Name: ';
- foreach($aPointDetails['aNames'] as $sKey => $sValue)
+
+ function osm_link($aFeature)
{
- echo '
'.$sValue.' ('.$sKey.')
';
+ $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 '
';
- 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 wikipedia_link($aFeature)
{
- list($sWikipediaLanguage,$sWikipediaArticle) = explode(':',$aPointDetails['wikipedia']);
- echo '
';
+ if ($aFeature['wikipedia'])
+ {
+ list($sWikipediaLanguage,$sWikipediaArticle) = explode(':',$aFeature['wikipedia']);
+ return '
'.$aFeature['wikipedia'].'';
+ }
+ return '';
}
- echo '
Extra Tags: ';
- foreach($aPointDetails['aExtraTags'] as $sKey => $sValue)
+
+ function nominatim_link($aFeature, $sTitle)
{
- echo '
'.$sValue.' ('.$sKey.')
';
+ return '
'.$sTitle.'';
+ }
+
+ 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 '
';
+ }
+ }
+
+
+ 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 ' ' . format_distance($aAddressLine['distance'])." | \n";
+ echo ' ' . nominatim_link($aAddressLine,'details >') . " | \n";
+ echo "
\n";
}
- echo '
';
- echo '
';
-
- 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_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'].'';
- 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 " |
\n";
}
- echo '
';
+
+?>
+
+
+
+
+
+
+
+
+
+
+
+
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:
';
+ echo "
\n";
?>
-
+
+
+
+
+
+
+
+
+
+