Я пытаюсь установить значение isInside, как будто пользователь geoLocation находится внутри одной из фигур внутри таблицы, я делаю этот запрос
function getNearMe( $lat = 0 , $lng = 0 , $withDistance = 120)
{
try{
$q = $this->api->pdo->prepare("SELECT * ,
( 3959 * acos( cos( radians($lat) ) * cos( radians( store_latitude ) ) * cos( radians( store_longitude ) - radians($lng) ) +
sin( radians($lat) ) *
sin( radians( store_latitude ) ) ) ) AS distance,
ST_Intersects(Point($lng,$lat),'gps') AS isInside
FROM stores
" . ( $withDistance == 0 ? "" : " HAVING distance < $withDistance " ) ."
ORDER BY distance
");
$q->execute();
return $q->fetchAll( PDO::FETCH_ASSOC );
}catch( PDOException $e ){
print_r($e);
return array();
}
}
ST_Intersects (точка ($ lng, $ lat),
gps
) AS isInside
вот таблица
но я получаю эту ошибку:
FUNCTION stores.ST_Intersects не существует
Я нашел, что решение может помочь кому-то другому
MBRContains(gps,
GeomFromText('Point($lat $lng)')) AS isInside