Merge pull request #798 from mtmail/coordinate-extract-missing-first-minus-sign

fix to NearPoint::extractFromQuery handling first minus sign
This commit is contained in:
Sarah Hoffmann
2017-09-19 21:23:49 +02:00
committed by GitHub
2 changed files with 6 additions and 2 deletions

View File

@@ -133,8 +133,8 @@ class NearPoint
$sFound = $aData[0];
$fQueryLat = ($aData[2]=='N'?1:-1) * ($aData[1]);
$fQueryLon = ($aData[4]=='E'?1:-1) * ($aData[3]);
} elseif (preg_match('/(\\[|^|\\b)(-?[0-9]+[0-9]*\\.[0-9]+)[, ]+(-?[0-9]+[0-9]*\\.[0-9]+)(\\]|$|\\b)/', $sQuery, $aData)) {
/* 1 2 3 4
} elseif (preg_match('/(\\[|^|\\b)?(-?[0-9]+[0-9]*\\.[0-9]+)[, ]+(-?[0-9]+[0-9]*\\.[0-9]+)(\\]|$|\\b)/', $sQuery, $aData)) {
/* 1 2 3 4
* degrees decimal
* 12.34, 56.78
* [12.456,-78.90]

View File

@@ -35,6 +35,10 @@ class NearPointTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($aRes['pt']->radius(), 0.1);
$this->assertEquals($aRes['query'], '');
$aRes = NearPoint::extractFromQuery(' -12.456,-78.90 ');
$this->assertEquals($aRes['pt']->lat(), -12.456);
$this->assertEquals($aRes['pt']->lon(), -78.90);
// http://en.wikipedia.org/wiki/Geographic_coordinate_conversion
// these all represent the same location
$aQueries = array(