在我的Asp.net
应用程序中,我遇到了一种情况,我需要根据用户的搜索关键字在Google Map
上显示我的客户商店。我成功地做到了,但我的客户现在要我在搜索位置以及附近的位置展示商店。我发现Google Place API
但它提供的结果不是我的客户端商店,因为它可以支持返回不需要的结果的these types only.。我想显示我的数据库中的商店。怎么可能?
答案 0 :(得分:0)
我自己解决了:)。因为值来自数据库而我没有存储latlng
而只是存储地址。我决定在latlng
的帮助下存储GoogleMaps.LocationServices.dll
,我使用Nuget Package Manager
下载了latlng
。现在我在我的表格中附有latlong
地址,因此我使用以下查询使用以下查询查找距离搜索latlong
10英里范围内的SELECT
(
3959 * acos (
cos ( radians(51.4579242) )
* cos( radians( lattitude ) )
* cos( radians( longitude ) - radians(-0.1660149) )
+ sin ( radians(51.4579242) )
* sin( radians( lattitude ) )
)
) AS 'distance', lattitude, longitude
FROM stockist
where (
3959 * acos (
cos ( radians(51.4579242) )
* cos( radians( lattitude ) )
* cos( radians( longitude ) - radians(-0.1660149) )
+ sin ( radians(51.4579242) )
* sin( radians( lattitude ) )
)
) < 10
latitude
注意:强>
此处51.4579242输入-0.1660149
,longitude
输入geocoder
。 (当然用户不知道这些技术术语,所以我从用户那里获得了代码,在DB中找到了该代码的所有地址,并使用latlong
来获取stickist
)
此处,lattitude
是表名,longitude
和latlong
是列。
要按公里而不是英里搜索,请将3959替换为6371。
我靠近{{1}},并将它们绘制成:)