By starting with the lowest address level, when collecting
administrative boundaries by level, there is a better chance
to actually get the boundary when the capital of the
administrative boundary is tagged with the level of the
boundary as well.
This is just a heuristics adaption to make the best out of
the imprecise admin_level definition for place nodes.
Fixes #1261.
public function getAdminLevels()
{
$aAddress = array();
- foreach ($this->aAddressLines as $aLine) {
+ foreach (array_reverse($this->aAddressLines) as $aLine) {
if (self::isAddress($aLine)
&& isset($aLine['admin_level'])
&& $aLine['admin_level'] < 15