X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/77bbbd24983356f388d1ae1ad2dc44a8472c3ce2..851af3db7f54d489df0e6b6e9d16b6ee7d4d98fc:/lib/template/details-html.php diff --git a/lib/template/details-html.php b/lib/template/details-html.php index 9c967fff..da36167c 100644 --- a/lib/template/details-html.php +++ b/lib/template/details-html.php @@ -1,249 +1,269 @@ - - - OpenStreetMap Nominatim: <?php echo $aPointDetails['localname'];?> - - - - - - -
+ + + + + + '; - if ($aPointDetails['icon']) + + function headline($sTitle) + { + echo "

".$sTitle."

\n"; + } + + function osm_link($aFeature) { - 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 $aPointDetails['localname'].''; - echo '
'; - echo '
Name: '; - foreach($aPointDetails['aNames'] 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 '
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 '
OSM: '.$sOSMType.' '.$aPointDetails['osm_id'].'
'; - if ($aPointDetails['wikipedia']) + + function format_distance($fDistance) { - list($sWikipediaLanguage,$sWikipediaArticle) = explode(':',$aPointDetails['wikipedia']); - echo '
Wikipedia Calculated: '.$aPointDetails['wikipedia'].'
'; + return'~'.(round($fDistance,1)).' km'; } - echo '
Extra Tags: '; - foreach($aPointDetails['aExtraTags'] as $sKey => $sValue) + + function kv($sKey,$sValue) { - echo '
'.$sValue.' ('.$sKey.')
'; + 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"; + } + return $sHTML; + } + + // function hash_to_subtable($aAssociatedList) + // { + // $sHTML = ''; + // foreach($aAssociatedList as $sKey => $sValue) + // { + // $sHTML = $sHTML . ''."\n"; + // } + // $sHTML = $sHTML . '
'.$sKey.''.$sValue.'
'; + // return $sHTML; + // } + + + function map_icon($sIcon) + { + if ($sIcon){ + echo ''.$sIcon.''; } - 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 '
'; } - echo '
'; + + + function _one_row($aAddressLine){ + $bNotUsed = (isset($aAddressLine['isaddress']) && $aAddressLine['isaddress'] == 'f'); + + echo ''; + echo ' '.(trim($aAddressLine['localname'])?$aAddressLine['localname']:'No Name').''; + echo ' ' . $aAddressLine['class'].':'.$aAddressLine['type'] . ''; + echo ' ' . osm_link($aAddressLine) . ''; + echo ' ' . (isset($aAddressLine['admin_level']) ? $aAddressLine['admin_level'] : '') . ''; + // echo '' . (isset($aAddressLine['rank_search_label']) ? $aAddressLine['rank_search_label'] : '') .''; + // echo ', '.($aAddressLine['fromarea']=='t'?'Polygon':'Point').''; + echo ' ' . format_distance($aAddressLine['distance']).'';; + echo ' ' . nominatim_link($aAddressLine,'details >') . '';; + echo "\n"; + } + +?> + + + + +
+
+
+

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

Address

+ + + + + + + + + + + + + + + + + + +
Local nameTypeOSMAdmin levelDistance
+ + +Linked Places'; - echo '
'; + headline('Linked Places'); + echo ''; 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 ''; + echo '
'; } + + if ($aPlaceSearchNameKeywords) { - echo '

Name Keywords

'; + headline('Name Keywords'); foreach($aPlaceSearchNameKeywords as $aRow) { - echo '
'.$aRow['word_token'].'
'; + echo '
'.$aRow['word_token']."
\n"; } } if ($aPlaceSearchAddressKeywords) { - echo '

Address Keywords

'; + headline('Address Keywords'); foreach($aPlaceSearchAddressKeywords as $aRow) { - echo '
'.($aRow['word_token'][0]==' '?'*':'').$aRow['word_token'].'('.$aRow['word_id'].')'.'
'; + echo '
'.($aRow['word_token'][0]==' '?'*':'').$aRow['word_token'].'('.$aRow['word_id'].')'."
\n"; } } 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 '
'; - } + echo "

$sGroupHeading

\n"; + + echo ''; + foreach($aParentOfLines as $aAddressLine) + { + _one_row($aAddressLine); + } + echo '
'; } 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'); ?> +
+
+
+ + + + + + + + +