$oReverseGeocode = new Nominatim\ReverseGeocode($oDB);
$oReverseGeocode->setZoom($iZoom !== false ? $iZoom : 18);
- $aLookup = $oReverseGeocode->lookup($fLat, $fLon);
- if (CONST_Debug) var_dump($aLookup);
-
- $aPlace = $oPlaceLookup->lookup(
- (int)$aLookup['place_id'],
- $aLookup['type'],
- $aLookup['fraction']
- );
+ $oLookup = $oReverseGeocode->lookup($fLat, $fLon);
+ if (CONST_Debug) var_dump($oLookup);
+
+ if ($oLookup) {
+ $aPlaces = $oPlaceLookup->lookup(array($oLookup->iId => $oLookup));
+ if (sizeof($aPlaces)) {
+ $aPlace = reset($aPlaces);
+ }
+ }
} elseif ($sOutputFormat != 'html') {
userError("Need coordinates or OSM object to lookup.");
}