public function __construct(&$oDB, $iPlaceID, $sHousenumber, $mLangPref)
{
if (is_array($mLangPref)) {
- $mLangPref = 'ARRAY['.join(',', array_map('getDBQuoted', $mLangPref)).']';
+ $mLangPref = $oDB->getArraySQL($oDB->getDBQuotedList($mLangPref));
}
if (!isset($sHousenumber)) {
$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])
}
}
}
+
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();