我有这个字段 center
。保存的数据是位置的 Longitude_Latitude
。我正在使用 Google map JavaScript API,我想获取位于所示 map 内的坐标。 (我在服务器端使用 php)。
我的想法是比较中心坐标和角坐标。 为了获得位置坐标
center_Longitude
必须介于TopLeftCoords_Longitude
和BottomRightCoords_Longitude
之间
center_Latitude
必须介于TopLeftCoords_Latitude
和BottomRightCoords_Latitude
问题是我可以使用 MySQL 来做到这一点吗?还是我必须为中心经度和纬度设置单独的字段?
最佳答案
我不清楚你在问什么,但我了解到你想分开 center
字段以获取纬度和经度分量。这可以像这样完成:
SELECT
LEFT(center, LOCATE('_', center) - 1) AS latitude,
RIGHT(center, LOCATE('_', center) - 1) AS longitude
FROM earth
更新 1
根据您的评论,您要求满足以下条件:
IF Lat <= TopLeftLat && Lat >= BottomRightLat && Lon <= TopLeftLon && Lon >= BottomRightLon
这是您修改后的查询:
SELECT
LEFT(center, LOCATE('_', center) - 1) AS latitude,
RIGHT(center, CHAR_LENGTH(center) - LOCATE('_', center) ) AS longitude
FROM realestate
将条件添加到您的查询中看起来像这样(假设 TopLeftLat
等是您表中的属性):
SELECT a.lat, a.lon
FROM
(SELECT
LEFT(center, LOCATE('_', center) - 1) AS lat,
RIGHT(center, CHAR_LENGTH(center) - LOCATE('_', center) ) AS lon
FROM realestate) a
WHERE a.lat <= TopLeftLat AND a.lat >= BottomRightLat AND a.lon <= TopLeftLon AND a.lon >= BottomRightLon
关于php - 从指定边界内的数据库获取坐标( map 角),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12611621/