X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/369a0974bde0951ac01bd72a421e9f60b52ad7c7..131527bdab6738baff679171c421ea7fa863e100:/lib/template/details-html.php
diff --git a/lib/template/details-html.php b/lib/template/details-html.php
index 51374918..3e9e39d7 100644
--- a/lib/template/details-html.php
+++ b/lib/template/details-html.php
@@ -1,226 +1,301 @@
-
-
-
- ';
- echo '
Name: ';
- foreach($aPointDetails['aNames'] as $sKey => $sValue)
+
+ 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 '
'.$sValue.' ('.$sKey.')
';
+ echo '
' . $sKey . ' | '.$sValue.' |
'. "\n";
}
- echo '
';
- echo '
Type: '.$aPointDetails['class'].':'.$aPointDetails['type'].'
';
- echo '
Last Updated: '.$aPointDetails['indexed_date'].'
';
- echo '
Admin Level: '.$aPointDetails['admin_level'].'
';
- echo '
Rank: '.$aPointDetails['rank_search_label'].'
';
- if ($aPointDetails['calculated_importance']) echo '
Importance: '.$aPointDetails['calculated_importance'].($aPointDetails['importance']?'':' (estimated)').'
';
- echo '
Coverage: '.($aPointDetails['isarea']=='t'?'Polygon':'Point').'
';
- echo '
Centre Point: '.$aPointDetails['lat'].','.$aPointDetails['lon'].'
';
- $sOSMType = ($aPointDetails['osm_type'] == 'N'?'node':($aPointDetails['osm_type'] == 'W'?'way':($aPointDetails['osm_type'] == 'R'?'relation':'')));
- if ($sOSMType) echo '
';
- if ($aPointDetails['wikipedia'])
+
+
+ function hash_to_subtable($aAssociatedList)
{
- list($sWikipediaLanguage,$sWikipediaArticle) = explode(':',$aPointDetails['wikipedia']);
- echo '
';
+ $sHTML = '';
+ foreach($aAssociatedList as $sKey => $sValue)
+ {
+ $sHTML = $sHTML.'
'.$sValue.' ('.$sKey.')
'."\n";
+ }
+ return $sHTML;
}
- echo '
Extra Tags: ';
- foreach($aPointDetails['aExtraTags'] as $sKey => $sValue)
+
+ // function hash_to_subtable($aAssociatedList)
+ // {
+ // $sHTML = '
';
+ // foreach($aAssociatedList as $sKey => $sValue)
+ // {
+ // $sHTML = $sHTML . ''.$sKey.' | '.$sValue.' |
'."\n";
+ // }
+ // $sHTML = $sHTML . '
';
+ // return $sHTML;
+ // }
+
+
+ function map_icon($sIcon)
{
- echo '
'.$sValue.' ('.$sKey.')
';
+ 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";
}
- echo '
';
- echo "
\n";
-
- 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 "\n";
+ echo " |
\n";
}
- echo "
\n";
+
+?>
+
+
+
+
+
+
+
+
+
+
+
+
Address
+
+
+
+
+ Local name |
+ Type |
+ OSM |
+ Admin level |
+
+ Distance |
+ |
+
+
+
+
+
+
+
+
+Linked Places\n";
- 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'].'';
- if (isset($aAddressLine['rank_search_label'])) echo ',
'.$aAddressLine['rank_search_label'].'';
-// echo ',
'.($aAddressLine['fromarea']=='t'?'Polygon':'Point').'';
- echo ',
'.$aAddressLine['distance'].'';
- echo '
GOTO';
- echo ')';
- echo "
\n";
+ _one_row($aAddressLine);
}
- echo "
\n";
}
+
+
if ($aPlaceSearchNameKeywords)
{
- echo 'Name Keywords
';
+ headline('Name Keywords');
foreach($aPlaceSearchNameKeywords as $aRow)
{
- echo ''.$aRow['word_token']."
\n";
+ _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'].')'."
\n";
+ _one_keyword_row($aRow['word_token'], $aRow['word_id']);
}
}
-
+
if (sizeof($aParentOfLines))
{
- echo "Parent Of:
\n\n";
+ 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
\n";
- 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 '
'.($aAddressLine['isarea']=='t'?'Polygon':'Point').'';
- echo ',
~'.(round($aAddressLine['distance']*69,1)).' miles';
- if ($sOSMType) echo ',
'.$sOSMType.' '.$aAddressLine['osm_id'].'';
- echo ',
GOTO';
- echo ')';
- echo "
\n";
- }
+ 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";
?>
-
+
+
+
+
+
+
+
+
+
+