我有一个包含餐馆的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)
}
我的问题是如何从谷歌获得的视图端口,我可以搜索里面的所有餐厅?
谢谢你的帮助。
有两种方法可以做到这一点:
示例:select * from TABLE where
latitudeBETWEEN [northeast lat] and [southwest lat] and
longitudeBETWEEN [southwest lng] and [northeast lng]
示例:select * from TABLE where
latitude>= [northeast lat] and
latitude<= [southwest lat] and
longitude>= [southwest lng] and
longitude<= [northeast lng]
注意1:在我的服务器上,最快的查询是使用BETWEEN
注2:你能看到MYSQL文件的BETWEEN相当于(min <= expr AND expr <= max),它们应该是相同的,但我决定使用> =和<=选项来指出这个事实它比BETWEEN选项慢:)我希望ti有意义
干杯