Skip to content

Commit f8ad593

Browse files
committed
Merge pull request #255 from MatTheCat/master
Use OpenStreetMap pedestrian tag for street name if road tag is not available
2 parents 5c71f1b + a32abc8 commit f8ad593

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/Geocoder/Provider/OpenStreetMapsProvider.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public function getGeocodedData($address)
7777
'county' => $this->getNodeValue($place->getElementsByTagName('county')),
7878
'region' => $this->getNodeValue($place->getElementsByTagName('state')),
7979
'streetNumber' => $this->getNodeValue($place->getElementsByTagName('house_number')),
80-
'streetName' => $this->getNodeValue($place->getElementsByTagName('road')),
80+
'streetName' => $this->getNodeValue($place->getElementsByTagName('road')) ?: $this->getNodeValue($place->getElementsByTagName('pedestrian')),
8181
'city' => $this->getNodeValue($place->getElementsByTagName('city')),
8282
'cityDistrict' => $this->getNodeValue($place->getElementsByTagName('suburb')),
8383
'country' => $this->getNodeValue($place->getElementsByTagName('country')),
@@ -116,7 +116,7 @@ public function getReversedData(array $coordinates)
116116
'county' => $this->getNodeValue($addressParts->getElementsByTagName('county')),
117117
'region' => $this->getNodeValue($addressParts->getElementsByTagName('state')),
118118
'streetNumber' => $this->getNodeValue($addressParts->getElementsByTagName('house_number')),
119-
'streetName' => $this->getNodeValue($addressParts->getElementsByTagName('road')),
119+
'streetName' => $this->getNodeValue($addressParts->getElementsByTagName('road')) ?: $this->getNodeValue($addressParts->getElementsByTagName('pedestrian')),
120120
'city' => $this->getNodeValue($addressParts->getElementsByTagName('city')),
121121
'cityDistrict' => $this->getNodeValue($addressParts->getElementsByTagName('suburb')),
122122
'country' => $this->getNodeValue($addressParts->getElementsByTagName('country')),

tests/Geocoder/Tests/Provider/OpenStreetMapsProviderTest.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -496,4 +496,12 @@ public function testGetReversedDataWithCoordinatesGetsError()
496496
$provider = new OpenStreetMapsProvider($this->getMockAdapterReturns($errorXml));
497497
$provider->getReversedData(array('-80.000000', '-170.000000'));
498498
}
499+
500+
public function testGetNodeStreetName()
501+
{
502+
$provider = new OpenStreetMapsProvider(new \Geocoder\HttpAdapter\CurlHttpAdapter(), 'fr_FR');
503+
$results = $provider->getReversedData(array(48.86, 2.35));
504+
505+
$this->assertEquals('Rue Quincampoix', $results[0]['streetName']);
506+
}
499507
}

0 commit comments

Comments
 (0)