我真的不确定哪种方法最好,但我需要能够向距离N 15英里的用户群进行广播。
因此,如果userA
需要向会员群报告他们已经失去宠物,系统会向位于userA
半径15英里内的成员发送电子邮件
我喜欢利用谷歌地图,以及经度和纬度...我有userA
的邮政编码,所以也许我可以用它来查找它的经度和纬度,然后进行广播。
我的问题是:如果我有userA
的邮政编码,我该如何利用Google Maps API向所有在距离{15英里/以内>>内的邮政编码的用户广播{1}} ...我不需要知道SQL查询需要什么......我只需要知道如何使用Google API ......需要什么样的参数等等。
答案 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 ...为什么不是完整地址?