2012-02-28 118 views
2

我使用谷歌地图v3捕获MS SQL数据库表中的所有地址,称为位置,它将具有像LocationName,LocationAddress,LocationZip,LocationState,LocationCity,LocLatitude,LocLongitude和LocationType(如医院,医师办公室或急救中心等)..邻近搜索谷歌地图

我有一个输入框,用户可以通过关键字和5,10,20和50英里半径选项下拉菜单选项。我已经能够使用输入框,并通过输入关键字作为查询字符串搜索所有匹配的位置,并为他们在谷歌地图api 3绘制标记。我也喜欢在匹配的结果,如5英里的说洛杉矶..

可以使用本网站使用的方法吗? http://maps.huge.info/dragcircle2.htm

它正在绘制一个5英里的半径,我需要几乎捕获该半径内的所有标记?请一些天才谷歌地图球员/女孩给我一些指导..

回答

3

谷歌有一个完整的教程,创建一个商店定位器。您缺少的重要信息是如何查询数据库以撤回半径内的位置。

http://code.google.com/apis/maps/articles/phpsqlsearch.html

看看上面的链接了解详细信息,但查询将如下的财产以后像这样(MySQL的):

SELECT address, name, lat, lng, (3959 * acos(cos(radians('%s')) * cos(radians(lat)) * cos(radians(lng) - radians('%s')) + sin(radians('%s')) * sin(radians(lat)))) AS distance FROM markers HAVING distance < '%s' ORDER BY distance LIMIT 0 , 20 

它采用三角!