)
);
- if (isset($aPlace['place_id'])) $aPlace['properties']['geocoding']['place_id'] = $aPointDetails['place_id'];
- $sOSMType = formatOSMType($aPlace['osm_type']);
+ if (isset($aPointDetails['place_id'])) $aPlace['properties']['geocoding']['place_id'] = $aPointDetails['place_id'];
+ $sOSMType = formatOSMType($aPointDetails['osm_type']);
if ($sOSMType) {
$aPlace['properties']['geocoding']['osm_type'] = $sOSMType;
$aPlace['properties']['geocoding']['osm_id'] = $aPointDetails['osm_id'];
$aPlace['properties']['geocoding']['label'] = $aPointDetails['langaddress'];
- $aPlace['properties']['geocoding']['name'] = $aPointDetails['placename'];
+ if ($aPointDetails['placename'] !== null) {
+ $aPlace['properties']['geocoding']['name'] = $aPointDetails['placename'];
+ }
- $aFieldMappings = array(
- 'house_number' => 'housenumber',
- 'road' => 'street',
- 'locality' => 'locality',
- 'postcode' => 'postcode',
- 'city' => 'city',
- 'district' => 'district',
- 'county' => 'county',
- 'state' => 'state',
- 'country' => 'country'
- );
+ if (isset($aPointDetails['address'])) {
+ $aPointDetails['address']->addGeocodeJsonAddressParts(
+ $aPlace['properties']['geocoding']
+ );
- foreach ($aFieldMappings as $sFrom => $sTo) {
- if (isset($aPointDetails['address'][$sFrom])) {
- $aPlace['properties']['geocoding'][$sTo] = $aPointDetails['address'][$sFrom];
- }
+ $aPlace['properties']['geocoding']['admin']
+ = $aPointDetails['address']->getAdminLevels();
}
- $aPlace['properties']['geocoding']['admin'] = $aPointDetails['aAddressAdminLevels'];
-
if (isset($aPointDetails['asgeojson'])) {
$aPlace['geometry'] = json_decode($aPointDetails['asgeojson']);
} else {