Mysql - 在视口内查找带坐标的项目

问题描述 投票:1回答:1

我有一个包含餐馆的mysql表(innoDB),每个餐馆都有纬度和经度字段(表中的单独列)。

我正在使用google place API Autocomplete为客户在地球上寻找位置,当发生这种情况时我会从谷歌“查看端口”回来

["viewport"]=>
  array(2) {
    ["northeast"]=>
    array(2) {
      ["lat"]=>
      float(52.4309497)
      ["lng"]=>
      float(5.0683726)
    }
    ["southwest"]=>
    array(2) {
      ["lat"]=>
      float(52.3182742)
      ["lng"]=>
      float(4.7288559)
    }

我的问题是如何从谷歌获得的视图端口,我可以搜索里面的所有餐厅?

谢谢你的帮助。

php mysql coordinates google-places-api
1个回答
2
投票

有两种方法可以做到这一点:

示例:select * from TABLE wherelatitudeBETWEEN [northeast lat] and [southwest lat] andlongitudeBETWEEN [southwest lng] and [northeast lng]

  • 使用> =和<=运算符

示例:select * from TABLE wherelatitude>= [northeast lat] andlatitude<= [southwest lat] andlongitude>= [southwest lng] andlongitude<= [northeast lng]

注意1:在我的服务器上,最快的查询是使用BETWEEN

注2:你能看到MYSQL文件的BETWEEN相当于(min <= expr AND expr <= max),它们应该是相同的,但我决定使用> =和<=选项来指出这个事实它比BETWEEN选项慢:)我希望ti有意义

干杯

© www.soinside.com 2019 - 2024. All rights reserved.