> 백엔드 개발 > PHP 튜토리얼 > 像饿了么一样利用地图定位计算坐标附近餐厅的这个方式怎么做的呢?

像饿了么一样利用地图定位计算坐标附近餐厅的这个方式怎么做的呢?

WBOY
풀어 주다: 2016-06-06 20:19:45
원래의
1992명이 탐색했습니다.

像饿了么一样利用地图定位计算坐标附近餐厅的这个方式怎么做的呢?

像这种场景,点击地图选一个坐标,就可以定位出附近有多少家外卖餐厅,随意拖动那个小杆杆,就能计算任意一个位置附近是否有餐厅,感觉好高级啊,怎么实现的呢?

说说我的想法:
餐厅在开通的时候有三个字段关乎今后的定位搜索:经度,纬度,配送范围(方圆千米/还是区域,这个怎么定的我还真没想好)

然后利用地图的API,得出选的经纬度,然后怎么样我就不知道了

希望知道的大神给我指点一下,谢谢了!

回复内容:

像饿了么一样利用地图定位计算坐标附近餐厅的这个方式怎么做的呢?

像这种场景,点击地图选一个坐标,就可以定位出附近有多少家外卖餐厅,随意拖动那个小杆杆,就能计算任意一个位置附近是否有餐厅,感觉好高级啊,怎么实现的呢?

说说我的想法:
餐厅在开通的时候有三个字段关乎今后的定位搜索:经度,纬度,配送范围(方圆千米/还是区域,这个怎么定的我还真没想好)

然后利用地图的API,得出选的经纬度,然后怎么样我就不知道了

希望知道的大神给我指点一下,谢谢了!

这个数据库要选用一个原生支持geo的,mongodb是一个不错的选择。
另:Mysql 5.7也加入对geo的原生支持
在这个业务里,对经纬度的写入,查询的代码逻辑是最重要的,距离可以通过经纬度进行计算

而后的一大块业务逻辑其实是前端了

虽然你这个问题放到了PHP里,但其实PHP在中间并没有起到太多作用,或者说,实现难点并不是PHP

原理是geohash,geohash原理对所有的 poi 建立geo索引,然后用已知坐标搜出来需要的poi,再在地图上展示出来。

简单的话mongodb本身就支持geohash,还有地图提供商也提供这种服务。

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿