]> git.openstreetmap.org Git - nominatim.git/blob - lib/template/search-jsonv2.php
Allow option of structured search queries (params amenity,street,city,county,state...
[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'] = $aResult['rank_search'];
40
41                 $aPlace['category'] = $aPointDetails['class'];
42                 $aPlace['type'] = $aPointDetails['type'];
43                 if ($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                 $aFilteredPlaces[] = $aPlace;
54         }
55
56         javascript_renderData($aFilteredPlaces);