【发布时间】:2014-03-06 10:06:04
【问题描述】:
我想要一个包含两个字段的搜索表单,一个用于邮政编码,另一个用于以英里(半径)为单位的距离。因此,每当我输入邮政编码和半径时,它都应该搜索该邮政编码半径内的所有邮政编码。例如,如果我输入邮政编码 10001 且距离为 3 英里,则此表单应搜索 10001 的 3 英里半径范围内的所有邮政编码。谢谢
【问题讨论】:
我想要一个包含两个字段的搜索表单,一个用于邮政编码,另一个用于以英里(半径)为单位的距离。因此,每当我输入邮政编码和半径时,它都应该搜索该邮政编码半径内的所有邮政编码。例如,如果我输入邮政编码 10001 且距离为 3 英里,则此表单应搜索 10001 的 3 英里半径范围内的所有邮政编码。谢谢
【问题讨论】:
这个例子可能会对你有所帮助。 http://gmaps-samples.googlecode.com/svn../trunk/fusiontables/circle_example.html
问候, 阿伦拉杰。
【讨论】:
如果您可以从邮政编码中找到(纬度,经度),那么您可以尝试如下:
"SELECT *,( 3959 * acos( cos( radians({$lat}) ) * cos( radians( `latitude` ) ) * cos( radians( `longitude` ) - radians({$lng}) ) + sin( radians({$lat}) ) * sin( radians( `latitude` ) ) ) ) AS distance
FROM `open_stores` HAVING `distance` <= {$radius} ORDER BY distance ASC";
【讨论】: