X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/f50f46c1ce3fe44d8de55071d2fe1126ecb1d0ac..abd294912abf844d054d5786dd80b7f1a2170a4d:/lib/template/address-geocodejson.php diff --git a/lib/template/address-geocodejson.php b/lib/template/address-geocodejson.php index 92efc8fe..032dcf43 100644 --- a/lib/template/address-geocodejson.php +++ b/lib/template/address-geocodejson.php @@ -32,25 +32,29 @@ if (empty($aPlace)) { $aFilteredPlaces['properties']['geocoding']['name'] = $aPlace['placename']; - $aFieldMappings = array( - 'house_number' => 'housenumber', - 'road' => 'street', - 'locality' => 'locality', - 'postcode' => 'postcode', - 'city' => 'city', - 'district' => 'district', - 'county' => 'county', - 'state' => 'state', - 'country' => 'country' - ); + if (isset($aPlace['address'])) { + $aFieldMappings = array( + 'house_number' => 'housenumber', + 'road' => 'street', + 'locality' => 'locality', + 'postcode' => 'postcode', + 'city' => 'city', + 'district' => 'district', + 'county' => 'county', + 'state' => 'state', + 'country' => 'country' + ); - foreach ($aFieldMappings as $sFrom => $sTo) { - if (isset($aPlace['aAddress'][$sFrom])) { - $aFilteredPlaces['properties']['geocoding'][$sTo] = $aPlace['aAddress'][$sFrom]; + $aAddressNames = $aPlace['address']->getAddressNames(); + foreach ($aFieldMappings as $sFrom => $sTo) { + if (isset($aAddressNames[$sFrom])) { + $aFilteredPlaces['properties']['geocoding'][$sTo] = $aAddressNames[$sFrom]; + } } - } - $aFilteredPlaces['properties']['geocoding']['admin'] = $aPlace['aAddressAdminLevels']; + $aFilteredPlaces['properties']['geocoding']['admin'] + = $aPlace['address']->getAdminLevels(); + } if (isset($aPlace['asgeojson'])) { $aFilteredPlaces['geometry'] = json_decode($aPlace['asgeojson']); @@ -72,6 +76,6 @@ if (empty($aPlace)) { 'licence' => 'ODbL', 'query' => $sQuery ), - 'features' => $aFilteredPlaces + 'features' => array($aFilteredPlaces) )); }