Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用Google place Api,无法获得预期结果_Asp.net_Google Maps_Google Maps Api 3_Google Places Api - Fatal编程技术网

Asp.net 使用Google place Api,无法获得预期结果

Asp.net 使用Google place Api,无法获得预期结果,asp.net,google-maps,google-maps-api-3,google-places-api,Asp.net,Google Maps,Google Maps Api 3,Google Places Api,在我的Asp.net应用程序中,我遇到了一种情况,我需要根据用户的搜索关键字在Google地图上显示我的客户商店。我成功地做到了这一点,但我的客户现在希望我显示搜索位置以及附近位置的商店。我找到了GooglePlaceAPI,但它提供了我的客户端存储以外的其他结果,因为它可以支持返回不需要的结果。我想显示数据库中的商店。这怎么可能呢?我自己已经解决了:。因为值来自数据库,我并没有存储latlng,而只是存储地址。我决定在GoogleMaps.LocationServices.dll的帮助下存储l

在我的Asp.net应用程序中,我遇到了一种情况,我需要根据用户的搜索关键字在Google地图上显示我的客户商店。我成功地做到了这一点,但我的客户现在希望我显示搜索位置以及附近位置的商店。我找到了GooglePlaceAPI,但它提供了我的客户端存储以外的其他结果,因为它可以支持返回不需要的结果。我想显示数据库中的商店。这怎么可能呢?

我自己已经解决了:。因为值来自数据库,我并没有存储latlng,而只是存储地址。我决定在GoogleMaps.LocationServices.dll的帮助下存储latlng,我使用Nuget软件包管理器下载了它。现在我的表中有地址和latlng,所以我使用下面的查询来查找距离使用下面的查询搜索到的latlong不到10英里的latlong

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
注:

此处51.4579242为输入纬度,-0.1660149为输入经度。当然,用户不知道这些技术术语,所以我从用户那个里获得了post代码,在DB中找到了该代码的所有地址,并使用geocoder获取latlong 这里,stickist是表名,latitude和longitude是列。 要按公里而不是英里搜索,请将3959替换为6371

我靠近拉特朗,画出了它们: