X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/a7edda32ba995cf1c0ceebf1778bb7c483e962da..fdc40d516986f55828579f4a3db31731b8c67728:/lib/AddressDetails.php diff --git a/lib/AddressDetails.php b/lib/AddressDetails.php index 783a0fda..3575d155 100644 --- a/lib/AddressDetails.php +++ b/lib/AddressDetails.php @@ -76,14 +76,14 @@ class AddressDetails $bFallback = true; } - $sName = false; - if (isset($aLine['localname']) && $aLine['localname']) { + $sName = null; + if (isset($aLine['localname']) && $aLine['localname']!=='') { $sName = $aLine['localname']; - } elseif (isset($aLine['housenumber']) && $aLine['housenumber']) { + } elseif (isset($aLine['housenumber']) && $aLine['housenumber']!=='') { $sName = $aLine['housenumber']; } - if ($sName) { + if (isset($sName)) { $sTypeLabel = strtolower(isset($aTypeLabel['simplelabel']) ? $aTypeLabel['simplelabel'] : $aTypeLabel['label']); $sTypeLabel = str_replace(' ', '_', $sTypeLabel); if (!isset($aAddress[$sTypeLabel]) @@ -97,9 +97,32 @@ class AddressDetails } } } + return $aAddress; } + public function addGeocodeJsonAddressParts(&$aJson) + { + $aFieldMappings = array( + 'house_number' => 'housenumber', + 'road' => 'street', + 'locality' => 'locality', + 'postcode' => 'postcode', + 'city' => 'city', + 'district' => 'district', + 'county' => 'county', + 'state' => 'state', + 'country' => 'country' + ); + + $aAddrNames = $this->getAddressNames(); + foreach ($aFieldMappings as $sFrom => $sTo) { + if (isset($aAddrNames[$sFrom])) { + $aJson[$sTo] = $aAddrNames[$sFrom]; + } + } + } + public function getAdminLevels() { $aAddress = array();