Я пытаюсь выяснить, как получить информацию из приведенной ниже таблицы MySQL, используя «верхнюю левую широту и долготу» и «нижнюю правую широту и долготу» для географической ограничивающей рамки.
CREATE TABLE `markers` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR( 60 ) NOT NULL ,
`address` VARCHAR( 80 ) NOT NULL ,
`lat` decimal(10,7) NOT NULL ,
`long` decimal(10,7) NOT NULL,
`geopoint` point NOT NULL,
PRIMARY KEY (id),
SPATIAL geopoint (geopoint)
) ENGINE = MYISAM ;
Пока у меня есть SQL-запрос ниже, и я не уверен, что это самый эффективный и действенный способ получения информации?
$sql = "SELECT * FROM `markers` WHERE (long BETWEEN '$west_long' AND '$east_long') AND (lat BETWEEN '$north_lat' AND '$south_lat')";