Nominatim/lib/template/search-json.php

78 lines
2.2 KiB
PHP
Raw Normal View History

2012-03-04 19:41:43 +04:00
<?php
header("content-type: application/json; charset=UTF-8");
2012-03-04 19:41:43 +04:00
$aFilteredPlaces = array();
foreach($aSearchResults as $iResNum => $aPointDetails)
{
$aPlace = array(
'place_id'=>$aPointDetails['place_id'],
2012-09-12 21:14:28 +04:00
'licence'=>"Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright",
2012-03-04 19:41:43 +04:00
);
$sOSMType = ($aPointDetails['osm_type'] == 'N'?'node':($aPointDetails['osm_type'] == 'W'?'way':($aPointDetails['osm_type'] == 'R'?'relation':'')));
if ($sOSMType)
{
$aPlace['osm_type'] = $sOSMType;
$aPlace['osm_id'] = $aPointDetails['osm_id'];
}
if (isset($aPointDetails['aBoundingBox']))
{
$aPlace['boundingbox'] = array(
$aPointDetails['aBoundingBox'][0],
$aPointDetails['aBoundingBox'][1],
$aPointDetails['aBoundingBox'][2],
$aPointDetails['aBoundingBox'][3]);
if (isset($aPointDetails['aPolyPoints']) && $bShowPolygons)
{
$aPlace['polygonpoints'] = $aPointDetails['aPolyPoints'];
}
}
if (isset($aPointDetails['zoom']))
{
$aPlace['zoom'] = $aPointDetails['zoom'];
}
$aPlace['lat'] = $aPointDetails['lat'];
$aPlace['lon'] = $aPointDetails['lon'];
$aPlace['display_name'] = $aPointDetails['name'];
$aPlace['class'] = $aPointDetails['class'];
$aPlace['type'] = $aPointDetails['type'];
if (isset($aPointDetails['icon']) && $aPointDetails['icon'])
2012-03-04 19:41:43 +04:00
{
$aPlace['icon'] = $aPointDetails['icon'];
}
if (isset($aPointDetails['address']))
{
$aPlace['address'] = $aPointDetails['address'];
}
2012-12-20 05:28:10 +04:00
if (isset($aPointDetails['asgeojson']))
{
2012-12-20 05:28:10 +04:00
$aPlace['geojson'] = json_decode($aPointDetails['asgeojson']);
}
2012-12-20 05:28:10 +04:00
if (isset($aPointDetails['assvg']))
{
2012-12-20 05:28:10 +04:00
$aPlace['svg'] = $aPointDetails['assvg'];
}
2012-12-20 05:28:10 +04:00
if (isset($aPointDetails['astext']))
{
2012-12-20 05:28:10 +04:00
$aPlace['geotext'] = $aPointDetails['astext'];
}
2012-12-20 05:28:10 +04:00
if (isset($aPointDetails['askml']))
{
2012-12-20 05:28:10 +04:00
$aPlace['geokml'] = $aPointDetails['askml'];
}
2012-03-04 19:41:43 +04:00
$aFilteredPlaces[] = $aPlace;
}
javascript_renderData($aFilteredPlaces);