使用谷歌地方Api,无法获得理想的结果

时间:2014-07-11 11:44:37

标签: asp.net google-maps google-maps-api-3 google-places-api

在我的Asp.net应用程序中,我遇到了一种情况,我需要根据用户的搜索关键字在Google Map上显示我的客户商店。我成功地做到了,但我的客户现在要我在搜索位置以及附近的位置展示商店。我发现Google Place API但它提供的结果不是我的客户端商店,因为它可以支持返回不需要的结果的these types only.。我想显示我的数据库中的商店。怎么可能?

1 个答案:

答案 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.1660149longitude输入geocoder。 (当然用户不知道这些技术术语,所以我从用户那里获得了代码,在DB中找到了该代码的所有地址,并使用latlong来获取stickist) 此处,lattitude是表名,longitudelatlong是列。 要按公里而不是英里搜索,请将3959替换为6371。

我靠近{{1}},并将它们绘制成:)