Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用GeoHP的多边形中的点_Php_Drupal_Geolocation - Fatal编程技术网

Php 使用GeoHP的多边形中的点

Php 使用GeoHP的多边形中的点,php,drupal,geolocation,Php,Drupal,Geolocation,我想检查多边形中是否存在点,或者是否在Drupal中使用GEOPHP。我已经创建了多边形并从中获得了坐标 此代码给出的结果为NULL 然后我尝试交换纬度和经度的值,测试如下: $userLocation = geoPHP::load("POINT(12.965416 77.600555)","wkt"); $storeServingArea=geoPHP::load("POLYGON((12.986159 77.569656, 12.993518 77.596779, 12.973780 77.

我想检查多边形中是否存在点,或者是否在Drupal中使用GEOPHP。我已经创建了多边形并从中获得了坐标

此代码给出的结果为
NULL

然后我尝试交换纬度和经度的值,测试如下:

$userLocation = geoPHP::load("POINT(12.965416 77.600555)","wkt");
$storeServingArea=geoPHP::load("POLYGON((12.986159 77.569656, 12.993518 77.596779, 12.973780 77.622185, 12.954710 77.623215, 12.945676 77.608109, 12.945341 77.577896, 12.957386 77.565880, 12.976122 77.565193, 12.985824 77.568970))","wkt");

var_dump($storeServingArea->contains($userLocation));
这也会将结果显示为
NULL

我在这里可能会犯什么错误?我怎样才能修好它

解决方案:

有用链接:

我通过以下链接修复了我的问题:
为此,我分叉了geoPHP并添加了多边形->点多边形和多多边形->点多边形方法。看一看:


为此,我分叉了GeoHP并添加了多边形->点多边形和多多边形->点多边形方法。看一看:

$userLocation = geoPHP::load("POINT(12.965416 77.600555)","wkt");
$storeServingArea=geoPHP::load("POLYGON((12.986159 77.569656, 12.993518 77.596779, 12.973780 77.622185, 12.954710 77.623215, 12.945676 77.608109, 12.945341 77.577896, 12.957386 77.565880, 12.976122 77.565193, 12.985824 77.568970))","wkt");

var_dump($storeServingArea->contains($userLocation));
$point = \geoPHP::load('POINT (x y)','wkt');
$polygon = \geoPHP::load('POLYGON ((x y...))','wkt');
$point_is_in_polygon = $polygon->pointInPolygon($point);