$oPlaceLookup->setPolygonSimplificationThreshold($this->fPolygonSimplificationThreshold);
$aOutlineResult = $oPlaceLookup->getOutlines($aResult['place_id'], $aResult['lon'], $aResult['lat'], $fDiameter/2);
- foreach($aOutlineResult as $k => $v)
- {
- $aResult[$k] = $v;
- }
+ $aResult = array_merge($aResult, $aOutlineResult);
if ($aResult['extra_place'] == 'city')
{
if (isset($aPointDetails['aBoundingBox']))
{
- $aPlace['boundingbox'] = $aPointDetails['aBoundingBox'][0];
+ $aPlace['boundingbox'] = $aPointDetails['aBoundingBox'];
if (isset($aPointDetails['aPolyPoints']) && $bShowPolygons)
{
| ID | country
| 0 | Deutschland
+
+ Scenario: Boundingbox is returned
+ Given the request parameters
+ | format | zoom
+ | xml | 4
+ When looking up coordinates 53.9788769,13.0830313
+ And results contain valid boundingboxes
+
+
@Tiger
Scenario: TIGER house number
Given the request parameters
And result 0 has attributes lat,lon,display_name
And result 0 has attributes class,type,importance,icon
And result 0 has not attributes address
+ And results contain valid boundingboxes
Scenario: Simple JSON search
When sending json search query "Vaduz"
And result 0 has attributes osm_type,osm_id,boundingbox
And result 0 has attributes lat,lon,display_name,importance
And result 0 has not attributes address
+ And results contain valid boundingboxes
Scenario: JSON search with addressdetails
When sending json search query "Montevideo" with address
m = re.match("%s$" % (v,), curres[k])
assert_is_not_none(m, msg="field %s does not match: %s$ != %s." % (k, v, curres[k]))
+@step(u'results contain valid boundingboxes$')
+def api_result_address_contains(step):
+ step.given('the result is valid')
+ for curres in world.results:
+ bb = curres['boundingbox']
+ if world.response_format == 'json':
+ bb = ','.join(bb)
+ m = re.match('^(-?\d+\.\d+),(-?\d+\.\d+),(-?\d+\.\d+),(-?\d+\.\d+)$', bb)
+ assert_is_not_none(m, msg="invalid boundingbox: %s." % (curres['boundingbox']))
@step(u'result addresses contain$')
def api_result_address_contains(step):
$fRadius = $fDiameter = getResultDiameter($aPlace);
$aOutlineResult = $oPlaceLookup->getOutlines($aPlace['place_id'],$aPlace['lon'],$aPlace['lat'],$fRadius);
- foreach($aOutlineResult as $k => $v)
- {
- $aPlace[$k] = $v;
- }
-
+ $aPlace = array_merge($aPlace, $aOutlineResult);
}
else
{