广播到半径15英里范围内的位置

时间:2012-08-23 19:38:33

标签: php google-maps geolocation latitude-longitude

我真的不确定哪种方法最好,但我需要能够向距离N 15英里的用户群进行广播。

因此,如果userA需要向会员群报告他们已经失去宠物,系统会向位于userA半径15英里内的成员发送电子邮件

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


我的问题是:如果我有userA的邮政编码,我该如何利用Google Maps API向所有在距离{15英里/以内>>内的邮政编码的用户广播{1}} ...我不需要知道SQL查询需要什么......我只需要知道如何使用Google API ......需要什么样的参数等等。

1 个答案:

答案 0 :(得分:0)

以下是Google地理编码API:

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

您可以使用file_get_contents调用它,然后使用json_decode响应...

这是一个示例电话:

http://maps.googleapis.com/maps/api/geocode/json?address=60201&sensor=false

但如果你看一下你得到的反应,你就会得到一个ZIP的边界框(和中心点)...所以你必须决定如何定义你的搜索范围......如果一些假设的ZIP在每个维度上有15英里,您是否只是在该ZIP中向用户发送消息?而且,如果ZIP在每个维度上都是100英里,那么您将无法告知15英里范围内的用户。

你可以说“我的邮政编码中的每个人,以及在这个邮政编码的周边15英里范围内有任何部分的邮政编码”......但是如果你有两个非常大的邮政编码,那么你会去要击中一个巨大的区域。

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