向半径15英里以内的地点广播


Broadcast to locations within 15 mile radius

我真的不确定哪种方法是最好的,但我需要能够向位于N. 15英里内的用户群广播

因此,如果userA需要向会员基地报告他们丢失了宠物,系统会向位于userA 半径15英里内的会员发送电子邮件

我很想利用谷歌地图和经度和纬度。。。我有userA的邮政编码,所以也许我可以用它来查找它的经度和纬度,然后进行广播。


我的问题是:如果我有userA的邮政编码,我如何利用谷歌地图API向距离userA 15英里内有邮政编码的所有用户广播。。。我不需要知道SQL查询需要什么。。。我只需要知道如何利用谷歌API。。。需要什么参数等。

下面是Google地理编码API:

https://developers.google.com/maps/documentation/geocoding/

你可以用file_get_contents来调用它,然后用json_decode来调用响应。。。

这是一个示例调用:

http://maps.googleapis.com/maps/api/geocode/json?address=60201&传感器=错误

但如果你看看你得到的响应,你会得到一个ZIP的边界框(和中心点)。。。所以你必须决定如何定义你的搜索范围。。。如果某个假设的ZIP在每个维度上都是15英里,你会只给该ZIP内的用户发消息吗?而且,如果ZIP在每个维度上都是100英里,你将无法区分15英里以内的用户和更远的用户。

你可以说"我的邮政编码中的每个人,以及那些在这个邮政编码周边15英里内的邮政编码"。。。但如果你有两个非常大的邮政编码,你会碰到一个很大的区域。

你看过navigator.geolocation吗?或者考虑合并一些其他数据收集选项,如向系统报告用户位置的移动应用程序?或者,就这一点而言,只是让他们输入更多的ZIP。。。为什么不提供完整地址?