mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-26 11:08:13 +00:00
cleanup interface of PlaceLookup
Move lookup parameters (place id, type, frac etc.) from members to parameters for lookup().
This commit is contained in:
@@ -1735,19 +1735,19 @@
|
|||||||
|
|
||||||
if (CONST_Debug) { echo '<i>Recheck words:<\i>'; var_dump($aRecheckWords); }
|
if (CONST_Debug) { echo '<i>Recheck words:<\i>'; var_dump($aRecheckWords); }
|
||||||
|
|
||||||
|
$oPlaceLookup = new PlaceLookup($this->oDB);
|
||||||
|
$oPlaceLookup->setIncludePolygonAsPoints($this->bIncludePolygonAsPoints);
|
||||||
|
$oPlaceLookup->setIncludePolygonAsText($this->bIncludePolygonAsText);
|
||||||
|
$oPlaceLookup->setIncludePolygonAsGeoJSON($this->bIncludePolygonAsGeoJSON);
|
||||||
|
$oPlaceLookup->setIncludePolygonAsKML($this->bIncludePolygonAsKML);
|
||||||
|
$oPlaceLookup->setIncludePolygonAsSVG($this->bIncludePolygonAsSVG);
|
||||||
|
$oPlaceLookup->setPolygonSimplificationThreshold($this->fPolygonSimplificationThreshold);
|
||||||
|
|
||||||
foreach($aSearchResults as $iResNum => $aResult)
|
foreach($aSearchResults as $iResNum => $aResult)
|
||||||
{
|
{
|
||||||
// Default
|
// Default
|
||||||
$fDiameter = getResultDiameter($aResult);
|
$fDiameter = getResultDiameter($aResult);
|
||||||
|
|
||||||
$oPlaceLookup = new PlaceLookup($this->oDB);
|
|
||||||
$oPlaceLookup->setIncludePolygonAsPoints($this->bIncludePolygonAsPoints);
|
|
||||||
$oPlaceLookup->setIncludePolygonAsText($this->bIncludePolygonAsText);
|
|
||||||
$oPlaceLookup->setIncludePolygonAsGeoJSON($this->bIncludePolygonAsGeoJSON);
|
|
||||||
$oPlaceLookup->setIncludePolygonAsKML($this->bIncludePolygonAsKML);
|
|
||||||
$oPlaceLookup->setIncludePolygonAsSVG($this->bIncludePolygonAsSVG);
|
|
||||||
$oPlaceLookup->setPolygonSimplificationThreshold($this->fPolygonSimplificationThreshold);
|
|
||||||
|
|
||||||
$aOutlineResult = $oPlaceLookup->getOutlines($aResult['place_id'], $aResult['lon'], $aResult['lat'], $fDiameter/2);
|
$aOutlineResult = $oPlaceLookup->getOutlines($aResult['place_id'], $aResult['lon'], $aResult['lat'], $fDiameter/2);
|
||||||
if ($aOutlineResult)
|
if ($aOutlineResult)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -3,18 +3,10 @@
|
|||||||
{
|
{
|
||||||
protected $oDB;
|
protected $oDB;
|
||||||
|
|
||||||
protected $iPlaceID;
|
|
||||||
|
|
||||||
protected $sType = false;
|
|
||||||
|
|
||||||
protected $fTigerFraction = -1;
|
|
||||||
|
|
||||||
protected $aLangPrefOrder = array();
|
protected $aLangPrefOrder = array();
|
||||||
|
|
||||||
protected $bAddressDetails = false;
|
protected $bAddressDetails = false;
|
||||||
|
|
||||||
protected $bExtraTags = false;
|
protected $bExtraTags = false;
|
||||||
|
|
||||||
protected $bNameDetails = false;
|
protected $bNameDetails = false;
|
||||||
|
|
||||||
protected $bIncludePolygonAsPoints = false;
|
protected $bIncludePolygonAsPoints = false;
|
||||||
@@ -91,38 +83,23 @@
|
|||||||
$this->fPolygonSimplificationThreshold = $f;
|
$this->fPolygonSimplificationThreshold = $f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function lookupOSMID($sType, $iID)
|
||||||
function setPlaceID($iPlaceID)
|
|
||||||
{
|
|
||||||
$this->iPlaceID = $iPlaceID;
|
|
||||||
}
|
|
||||||
|
|
||||||
function setOSMID($sType, $iID)
|
|
||||||
{
|
{
|
||||||
$sSQL = "select place_id from placex where osm_type = '".pg_escape_string($sType)."' and osm_id = ".(int)$iID." order by type = 'postcode' asc";
|
$sSQL = "select place_id from placex where osm_type = '".pg_escape_string($sType)."' and osm_id = ".(int)$iID." order by type = 'postcode' asc";
|
||||||
$this->iPlaceID = chksql($this->oDB->getOne($sSQL));
|
$iPlaceID = chksql($this->oDB->getOne($sSQL));
|
||||||
|
|
||||||
|
return $this->lookup((int)$iPlaceID);
|
||||||
}
|
}
|
||||||
|
|
||||||
function lookupPlace($details)
|
function lookup($iPlaceID, $sType = '', $fInterpolFraction = 0.0)
|
||||||
{
|
{
|
||||||
if (isset($details['place_id'])) $this->iPlaceID = $details['place_id'];
|
if (!$iPlaceID) return null;
|
||||||
if (isset($details['type'])) $this->sType = $details['type'];
|
|
||||||
if (isset($details['osm_type']) && isset($details['osm_id']))
|
|
||||||
{
|
|
||||||
$this->setOSMID($details['osm_type'], $details['osm_id']);
|
|
||||||
}
|
|
||||||
if (isset($details['fraction'])) $this->fInterpolFraction = $details['fraction'];
|
|
||||||
|
|
||||||
return $this->lookup();
|
|
||||||
}
|
|
||||||
|
|
||||||
function lookup()
|
|
||||||
{
|
|
||||||
if (!$this->iPlaceID) return null;
|
|
||||||
|
|
||||||
$sLanguagePrefArraySQL = "ARRAY[".join(',',array_map("getDBQuoted", $this->aLangPrefOrder))."]";
|
$sLanguagePrefArraySQL = "ARRAY[".join(',',array_map("getDBQuoted", $this->aLangPrefOrder))."]";
|
||||||
|
$bIsTiger = CONST_Use_US_Tiger_Data && $sType == 'tiger';
|
||||||
|
$bIsInterpolation = $sType == 'interpolation';
|
||||||
|
|
||||||
if (CONST_Use_US_Tiger_Data && $this->sType == 'tiger')
|
if ($bIsTiger)
|
||||||
{
|
{
|
||||||
$sSQL = "select place_id,partition, 'T' as osm_type, place_id as osm_id, 'place' as class, 'house' as type, null as admin_level, housenumber, null as street, null as isin, postcode,";
|
$sSQL = "select place_id,partition, 'T' as osm_type, place_id as osm_id, 'place' as class, 'house' as type, null as admin_level, housenumber, null as street, null as isin, postcode,";
|
||||||
$sSQL .= " 'us' as country_code, parent_place_id, null as linked_place_id, 30 as rank_address, 30 as rank_search,";
|
$sSQL .= " 'us' as country_code, parent_place_id, null as linked_place_id, 30 as rank_address, 30 as rank_search,";
|
||||||
@@ -134,13 +111,13 @@
|
|||||||
if ($this->bNameDetails) $sSQL .= " null as names,";
|
if ($this->bNameDetails) $sSQL .= " null as names,";
|
||||||
$sSQL .= " ST_X(point) as lon, ST_Y(point) as lat from (select *, ST_LineInterpolatePoint(linegeo, (housenumber-startnumber::float)/(endnumber-startnumber)::float) as point from ";
|
$sSQL .= " ST_X(point) as lon, ST_Y(point) as lat from (select *, ST_LineInterpolatePoint(linegeo, (housenumber-startnumber::float)/(endnumber-startnumber)::float) as point from ";
|
||||||
$sSQL .= " (select *, ";
|
$sSQL .= " (select *, ";
|
||||||
$sSQL .= " CASE WHEN interpolationtype='odd' THEN floor((".$this->fInterpolFraction."*(endnumber-startnumber)+startnumber)/2)::int*2+1";
|
$sSQL .= " CASE WHEN interpolationtype='odd' THEN floor((".$fInterpolFraction."*(endnumber-startnumber)+startnumber)/2)::int*2+1";
|
||||||
$sSQL .= " WHEN interpolationtype='even' THEN ((".$this->fInterpolFraction."*(endnumber-startnumber)+startnumber)/2)::int*2";
|
$sSQL .= " WHEN interpolationtype='even' THEN ((".$fInterpolFraction."*(endnumber-startnumber)+startnumber)/2)::int*2";
|
||||||
$sSQL .= " WHEN interpolationtype='all' THEN (".$this->fInterpolFraction."*(endnumber-startnumber)+startnumber)::int";
|
$sSQL .= " WHEN interpolationtype='all' THEN (".$fInterpolFraction."*(endnumber-startnumber)+startnumber)::int";
|
||||||
$sSQL .= " END as housenumber";
|
$sSQL .= " END as housenumber";
|
||||||
$sSQL .= " from location_property_tiger where place_id = ".(int)$this->iPlaceID.") as blub1) as blub2";
|
$sSQL .= " from location_property_tiger where place_id = ".$iPlaceID.") as blub1) as blub2";
|
||||||
}
|
}
|
||||||
else if ($this->sType == 'interpolation')
|
else if ($bIsInterpolation)
|
||||||
{
|
{
|
||||||
$sSQL = "select place_id, partition, 'W' as osm_type, osm_id, 'place' as class, 'house' as type, null admin_level, housenumber, null as street, null as isin, postcode,";
|
$sSQL = "select place_id, partition, 'W' as osm_type, osm_id, 'place' as class, 'house' as type, null admin_level, housenumber, null as street, null as isin, postcode,";
|
||||||
$sSQL .= " calculated_country_code as country_code, parent_place_id, null as linked_place_id, 30 as rank_address, 30 as rank_search,";
|
$sSQL .= " calculated_country_code as country_code, parent_place_id, null as linked_place_id, 30 as rank_address, 30 as rank_search,";
|
||||||
@@ -152,11 +129,11 @@
|
|||||||
if ($this->bNameDetails) $sSQL .= " null as names,";
|
if ($this->bNameDetails) $sSQL .= " null as names,";
|
||||||
$sSQL .= " ST_X(point) as lon, ST_Y(point) as lat from (select *, ST_LineInterpolatePoint(linegeo, (housenumber-startnumber::float)/(endnumber-startnumber)::float) as point from ";
|
$sSQL .= " ST_X(point) as lon, ST_Y(point) as lat from (select *, ST_LineInterpolatePoint(linegeo, (housenumber-startnumber::float)/(endnumber-startnumber)::float) as point from ";
|
||||||
$sSQL .= " (select *, ";
|
$sSQL .= " (select *, ";
|
||||||
$sSQL .= " CASE WHEN interpolationtype='odd' THEN floor((".$this->fInterpolFraction."*(endnumber-startnumber)+startnumber)/2)::int*2+1";
|
$sSQL .= " CASE WHEN interpolationtype='odd' THEN floor((".$fInterpolFraction."*(endnumber-startnumber)+startnumber)/2)::int*2+1";
|
||||||
$sSQL .= " WHEN interpolationtype='even' THEN ((".$this->fInterpolFraction."*(endnumber-startnumber)+startnumber)/2)::int*2";
|
$sSQL .= " WHEN interpolationtype='even' THEN ((".$fInterpolFraction."*(endnumber-startnumber)+startnumber)/2)::int*2";
|
||||||
$sSQL .= " WHEN interpolationtype='all' THEN (".$this->fInterpolFraction."*(endnumber-startnumber)+startnumber)::int";
|
$sSQL .= " WHEN interpolationtype='all' THEN (".$fInterpolFraction."*(endnumber-startnumber)+startnumber)::int";
|
||||||
$sSQL .= " END as housenumber";
|
$sSQL .= " END as housenumber";
|
||||||
$sSQL .= " from location_property_osmline where place_id = ".(int)$this->iPlaceID.") as blub1) as blub2";
|
$sSQL .= " from location_property_osmline where place_id = ".$iPlaceID.") as blub1) as blub2";
|
||||||
// testcase: interpolationtype=odd, startnumber=1000, endnumber=1006, fInterpolFraction=1 => housenumber=1007 => error in st_lineinterpolatepoint
|
// testcase: interpolationtype=odd, startnumber=1000, endnumber=1006, fInterpolFraction=1 => housenumber=1007 => error in st_lineinterpolatepoint
|
||||||
// but this will never happen, because if the searched point is that close to the endnumber, the endnumber house will be directly taken from placex (in ReverseGeocode.php line 220)
|
// but this will never happen, because if the searched point is that close to the endnumber, the endnumber house will be directly taken from placex (in ReverseGeocode.php line 220)
|
||||||
// and not interpolated
|
// and not interpolated
|
||||||
@@ -172,7 +149,7 @@
|
|||||||
if ($this->bNameDetails) $sSQL .= " hstore_to_json(name) as names,";
|
if ($this->bNameDetails) $sSQL .= " hstore_to_json(name) as names,";
|
||||||
$sSQL .= " (case when centroid is null then st_y(st_centroid(geometry)) else st_y(centroid) end) as lat,";
|
$sSQL .= " (case when centroid is null then st_y(st_centroid(geometry)) else st_y(centroid) end) as lat,";
|
||||||
$sSQL .= " (case when centroid is null then st_x(st_centroid(geometry)) else st_x(centroid) end) as lon";
|
$sSQL .= " (case when centroid is null then st_x(st_centroid(geometry)) else st_x(centroid) end) as lon";
|
||||||
$sSQL .= " from placex where place_id = ".(int)$this->iPlaceID;
|
$sSQL .= " from placex where place_id = ".$iPlaceID;
|
||||||
}
|
}
|
||||||
|
|
||||||
$aPlace = chksql($this->oDB->getRow($sSQL), "Could not lookup place");
|
$aPlace = chksql($this->oDB->getRow($sSQL), "Could not lookup place");
|
||||||
@@ -181,11 +158,10 @@
|
|||||||
|
|
||||||
if ($this->bAddressDetails)
|
if ($this->bAddressDetails)
|
||||||
{
|
{
|
||||||
if(CONST_Use_US_Tiger_Data && $this->sType == 'tiger' || $this->sType == 'interpolation') // to get addressdetails for tiger data, the housenumber is needed
|
// to get addressdetails for tiger data, the housenumber is needed
|
||||||
$aAddress = $this->getAddressNames($aPlace['housenumber']);
|
$iHousenumber = ($bIsTiger || $bIsInterpolation) ? $aPlace['housenumber'] : -1;
|
||||||
else
|
$aPlace['aAddress'] = $this->getAddressNames($aPlace['place_id'],
|
||||||
$aAddress = $this->getAddressNames();
|
$iHousenumber);
|
||||||
$aPlace['aAddress'] = $aAddress;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->bExtraTags)
|
if ($this->bExtraTags)
|
||||||
@@ -232,22 +208,20 @@
|
|||||||
return $aPlace;
|
return $aPlace;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getAddressDetails($bAll = false, $housenumber = -1)
|
function getAddressDetails($iPlaceID, $bAll = false, $housenumber = -1)
|
||||||
{
|
{
|
||||||
if (!$this->iPlaceID) return null;
|
|
||||||
|
|
||||||
$sLanguagePrefArraySQL = "ARRAY[".join(',',array_map("getDBQuoted", $this->aLangPrefOrder))."]";
|
$sLanguagePrefArraySQL = "ARRAY[".join(',',array_map("getDBQuoted", $this->aLangPrefOrder))."]";
|
||||||
|
|
||||||
$sSQL = "select *,get_name_by_language(name,$sLanguagePrefArraySQL) as localname from get_addressdata(".$this->iPlaceID.",".$housenumber.")";
|
$sSQL = "select *,get_name_by_language(name,$sLanguagePrefArraySQL) as localname from get_addressdata(".$iPlaceID.",".$housenumber.")";
|
||||||
if (!$bAll) $sSQL .= " WHERE isaddress OR type = 'country_code'";
|
if (!$bAll) $sSQL .= " WHERE isaddress OR type = 'country_code'";
|
||||||
$sSQL .= " order by rank_address desc,isaddress desc";
|
$sSQL .= " order by rank_address desc,isaddress desc";
|
||||||
|
|
||||||
return chksql($this->oDB->getAll($sSQL));
|
return chksql($this->oDB->getAll($sSQL));
|
||||||
}
|
}
|
||||||
|
|
||||||
function getAddressNames($housenumber = -1)
|
function getAddressNames($iPlaceID, $housenumber = -1)
|
||||||
{
|
{
|
||||||
$aAddressLines = $this->getAddressDetails(false, $housenumber);
|
$aAddressLines = $this->getAddressDetails($iPlaceID, false, $housenumber);
|
||||||
|
|
||||||
$aAddress = array();
|
$aAddress = array();
|
||||||
$aFallback = array();
|
$aFallback = array();
|
||||||
|
|||||||
@@ -41,7 +41,8 @@
|
|||||||
$aLookup = $oReverseGeocode->lookup($fLat, $fLon);
|
$aLookup = $oReverseGeocode->lookup($fLat, $fLon);
|
||||||
if ($aLookup && $aLookup['place_id'])
|
if ($aLookup && $aLookup['place_id'])
|
||||||
{
|
{
|
||||||
$aDetails = $oPlaceLookup->lookupPlace($aLookup);
|
$aDetails = $oPlaceLookup->lookup((int)$aLookup['place_id'],
|
||||||
|
$aLookup['type'], $aLookup['fraction']);
|
||||||
if ($bVerbose) echo $aDetails['langaddress']."\n";
|
if ($bVerbose) echo $aDetails['langaddress']."\n";
|
||||||
}
|
}
|
||||||
else echo ".";
|
else echo ".";
|
||||||
|
|||||||
@@ -57,9 +57,8 @@
|
|||||||
$oPlaceLookup = new PlaceLookup($oDB);
|
$oPlaceLookup = new PlaceLookup($oDB);
|
||||||
$oPlaceLookup->setLanguagePreference($aLangPrefOrder);
|
$oPlaceLookup->setLanguagePreference($aLangPrefOrder);
|
||||||
$oPlaceLookup->setIncludeAddressDetails(true);
|
$oPlaceLookup->setIncludeAddressDetails(true);
|
||||||
$oPlaceLookup->setPlaceId($iPlaceID);
|
|
||||||
|
|
||||||
$aPlaceAddress = array_reverse($oPlaceLookup->getAddressDetails());
|
$aPlaceAddress = array_reverse($oPlaceLookup->getAddressDetails($iPlaceID));
|
||||||
|
|
||||||
if (!sizeof($aPlaceAddress)) userError("Unknown place id.");
|
if (!sizeof($aPlaceAddress)) userError("Unknown place id.");
|
||||||
|
|
||||||
|
|||||||
@@ -44,8 +44,7 @@
|
|||||||
if ( $iId > 0 && ($sType == 'N' || $sType == 'W' || $sType == 'R') )
|
if ( $iId > 0 && ($sType == 'N' || $sType == 'W' || $sType == 'R') )
|
||||||
{
|
{
|
||||||
$aCleanedQueryParts[] = $sType . $iId;
|
$aCleanedQueryParts[] = $sType . $iId;
|
||||||
$oPlaceLookup->setOSMID($sType, $iId);
|
$oPlace = $oPlaceLookup->lookupOSMID($sType, $iId);
|
||||||
$oPlace = $oPlaceLookup->lookup();
|
|
||||||
if ($oPlace){
|
if ($oPlace){
|
||||||
// we want to use the search-* output templates, so we need to fill
|
// we want to use the search-* output templates, so we need to fill
|
||||||
// $aSearchResults and slightly change the (reverse search) oPlace
|
// $aSearchResults and slightly change the (reverse search) oPlace
|
||||||
|
|||||||
@@ -43,37 +43,38 @@
|
|||||||
$hLog = logStart($oDB, 'reverse', $_SERVER['QUERY_STRING'], $aLangPrefOrder);
|
$hLog = logStart($oDB, 'reverse', $_SERVER['QUERY_STRING'], $aLangPrefOrder);
|
||||||
|
|
||||||
|
|
||||||
|
$oPlaceLookup = new PlaceLookup($oDB);
|
||||||
|
$oPlaceLookup->setLanguagePreference($aLangPrefOrder);
|
||||||
|
$oPlaceLookup->setIncludeAddressDetails(getParamBool('addressdetails', true));
|
||||||
|
$oPlaceLookup->setIncludeExtraTags(getParamBool('extratags', false));
|
||||||
|
$oPlaceLookup->setIncludeNameDetails(getParamBool('namedetails', false));
|
||||||
|
|
||||||
$sOsmType = getParamSet('osm_type', array('N', 'W', 'R'));
|
$sOsmType = getParamSet('osm_type', array('N', 'W', 'R'));
|
||||||
$iOsmId = getParamInt('osm_id', -1);
|
$iOsmId = getParamInt('osm_id', -1);
|
||||||
$fLat = getParamFloat('lat');
|
$fLat = getParamFloat('lat');
|
||||||
$fLon = getParamFloat('lon');
|
$fLon = getParamFloat('lon');
|
||||||
if ($sOsmType && $iOsmId > 0)
|
if ($sOsmType && $iOsmId > 0)
|
||||||
{
|
{
|
||||||
$aLookup = array('osm_type' => $sOsmType, 'osm_id' => $iOsmId);
|
$aPlace = $oPlaceLookup->lookupOSMID($sOsmType, $iOsmId);
|
||||||
}
|
}
|
||||||
else if ($fLat !== false && $fLon !==false)
|
else if ($fLat !== false && $fLon !== false)
|
||||||
{
|
{
|
||||||
$oReverseGeocode = new ReverseGeocode($oDB);
|
$oReverseGeocode = new ReverseGeocode($oDB);
|
||||||
$oReverseGeocode->setZoom(getParamInt('zoom', 18));
|
$oReverseGeocode->setZoom(getParamInt('zoom', 18));
|
||||||
|
|
||||||
$aLookup = $oReverseGeocode->lookup($fLat, $fLon);
|
$aLookup = $oReverseGeocode->lookup($fLat, $fLon);
|
||||||
if (CONST_Debug) var_dump($aLookup);
|
if (CONST_Debug) var_dump($aLookup);
|
||||||
|
|
||||||
|
$aPlace = $oPlaceLookup->lookup((int)$aLookup['place_id'],
|
||||||
|
$aLookup['type'], $aLookup['fraction']);
|
||||||
}
|
}
|
||||||
else if ($sOutputFormat != 'html')
|
else if ($sOutputFormat != 'html')
|
||||||
{
|
{
|
||||||
userError("Need coordinates or OSM object to lookup.");
|
userError("Need coordinates or OSM object to lookup.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($aLookup)
|
if ($aPlace)
|
||||||
{
|
{
|
||||||
$oPlaceLookup = new PlaceLookup($oDB);
|
|
||||||
$oPlaceLookup->setLanguagePreference($aLangPrefOrder);
|
|
||||||
$oPlaceLookup->setIncludeAddressDetails(getParamBool('addressdetails', true));
|
|
||||||
$oPlaceLookup->setIncludeExtraTags(getParamBool('extratags', false));
|
|
||||||
$oPlaceLookup->setIncludeNameDetails(getParamBool('namedetails', false));
|
|
||||||
|
|
||||||
$aPlace = $oPlaceLookup->lookupPlace($aLookup);
|
|
||||||
|
|
||||||
$oPlaceLookup->setIncludePolygonAsPoints(false);
|
$oPlaceLookup->setIncludePolygonAsPoints(false);
|
||||||
$oPlaceLookup->setIncludePolygonAsText($bAsText);
|
$oPlaceLookup->setIncludePolygonAsText($bAsText);
|
||||||
$oPlaceLookup->setIncludePolygonAsGeoJSON($bAsGeoJSON);
|
$oPlaceLookup->setIncludePolygonAsGeoJSON($bAsGeoJSON);
|
||||||
@@ -82,17 +83,15 @@
|
|||||||
$oPlaceLookup->setPolygonSimplificationThreshold($fThreshold);
|
$oPlaceLookup->setPolygonSimplificationThreshold($fThreshold);
|
||||||
|
|
||||||
$fRadius = $fDiameter = getResultDiameter($aPlace);
|
$fRadius = $fDiameter = getResultDiameter($aPlace);
|
||||||
$aOutlineResult = $oPlaceLookup->getOutlines($aPlace['place_id'], $aPlace['lon'], $aPlace['lat'], $fRadius);
|
$aOutlineResult = $oPlaceLookup->getOutlines($aPlace['place_id'],
|
||||||
|
$aPlace['lon'], $aPlace['lat'],
|
||||||
|
$fRadius);
|
||||||
|
|
||||||
if ($aOutlineResult)
|
if ($aOutlineResult)
|
||||||
{
|
{
|
||||||
$aPlace = array_merge($aPlace, $aOutlineResult);
|
$aPlace = array_merge($aPlace, $aOutlineResult);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
$aPlace = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (CONST_Debug)
|
if (CONST_Debug)
|
||||||
|
|||||||
Reference in New Issue
Block a user