从MySQL

时间:2016-08-12 14:30:50

标签: php mysql json google-maps google-maps-api-3

我们是一家非营利性慈善组织。计划开辟一些支持中心。我们的支持中心的MySQL数据库如下:

booth_id
booth_name
latitude
longitude
coverage
phone

详情:

booth_id

支持展位的数字唯一ID。

booth_name

每个支持展位的字母数字名称。

latitude

每个展位的Google Map纬度。

longitude

每个展位的谷歌地图经度。

coverage

Json为每个展位制作了Google Map多边形。这是每个展位的支持范围。

phone

每个支持展位的电话号码。

我们要做的是;获取用户位置并搜索他是否在任何支持展位范围内。

以下是coverage字段中存储的数据:

{
  "0": "23.86998,91.20611",
  "1": "23.86599,91.20609",
  "2": "23.86597,91.2091",
  "3": "23.86563,91.21251",
  "4": "23.87021,91.21249"
}

Which has this visual view

依赖于覆盖区域,这里可能有更多Json索引对象。每个Json对象都以latitudelongitude逗号分隔。

现在我的问题是如何从MySQL中找到latitude : 23.867467longitude : 91.2074338(它可以是任何值)在覆盖范围内或在哪个展位的覆盖范围内。这有可能借助MySQL函数在MySQL查询中进行搜索吗?

请告诉我,这将非常有帮助。

由于

1 个答案:

答案 0 :(得分:0)

您可以使用MySQL提供的空间函数来存储几何数据。

然后使用http://dev.mysql.com/doc/refman/5.7/en/spatial-relation-functions-object-shapes.html#function_st-within