]> git.openstreetmap.org Git - nominatim.git/blob - lib/template/search-jsonv2.php
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / lib / template / search-jsonv2.php
1 <?php
2         $aFilteredPlaces = array();
3         foreach($aSearchResults as $iResNum => $aPointDetails)
4         {
5                 $aPlace = array(
6                                 'place_id'=>$aPointDetails['place_id'],
7                                 'licence'=>"Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright",
8                         );
9
10                 $sOSMType = ($aPointDetails['osm_type'] == 'N'?'node':($aPointDetails['osm_type'] == 'W'?'way':($aPointDetails['osm_type'] == 'R'?'relation':'')));
11                 if ($sOSMType)
12                 {
13                         $aPlace['osm_type'] = $sOSMType;
14                         $aPlace['osm_id'] = $aPointDetails['osm_id'];
15                 }
16
17                 if (isset($aPointDetails['aBoundingBox']))
18                 {
19                         $aPlace['boundingbox'] = array(
20                                 $aPointDetails['aBoundingBox'][0],
21                                 $aPointDetails['aBoundingBox'][1],
22                                 $aPointDetails['aBoundingBox'][2],
23                                 $aPointDetails['aBoundingBox'][3]);
24
25                         if (isset($aPointDetails['aPolyPoints']) && $bShowPolygons)
26                         {
27                                 $aPlace['polygonpoints'] = $aPointDetails['aPolyPoints'];
28                         }
29                 }
30
31                 if (isset($aPointDetails['zoom']))
32                 {
33                         $aPlace['zoom'] = $aPointDetails['zoom'];
34                 }
35
36                 $aPlace['lat'] = $aPointDetails['lat'];
37                 $aPlace['lon'] = $aPointDetails['lon'];
38                 $aPlace['display_name'] = $aPointDetails['name'];
39                 $aPlace['place_rank'] = $aPointDetails['rank_search'];
40
41                 $aPlace['category'] = $aPointDetails['class'];
42                 $aPlace['type'] = $aPointDetails['type'];
43                 if (isset($aPointDetails['icon']))
44                 {
45                         $aPlace['icon'] = $aPointDetails['icon'];
46                 }
47
48                 if (isset($aPointDetails['address']) && sizeof($aPointDetails['address'])>0)
49                 {
50                         $aPlace['address'] = $aPointDetails['address'];
51                 }
52
53                 if (isset($aPointDetails['asgeojson']))
54                 {
55                         $aPlace['geojson'] = json_decode($aPointDetails['asgeojson']);
56                 }
57
58                 if (isset($aPointDetails['assvg']))
59                 {
60                         $aPlace['svg'] = $aPointDetails['assvg'];
61                 }
62
63                 if (isset($aPointDetails['astext']))
64                 {
65                         $aPlace['geotext'] = $aPointDetails['astext'];
66                 }
67
68                 if (isset($aPointDetails['askml']))
69                 {
70                         $aPlace['geokml'] = $aPointDetails['askml'];
71                 }
72
73                 $aFilteredPlaces[] = $aPlace;
74         }
75
76         javascript_renderData($aFilteredPlaces, array('geojson'));