2014-07-11 22 views
0

在我Asp.net的應用程序,我碰到一個情況,我需要根據用戶的搜索關鍵字顯示在Google Map我的客戶的商店。我成功地做到了這一點,但我的客戶現在要我在搜索到的位置以及附近的位置展示商店。我找到了Google Place API,但它給出了比我的客戶端商店其他結果,因爲它可以支持these types only.返回不需要的結果。我想顯示在我的數據庫中的商店。這怎麼可能?使用谷歌的地方API時,不能得到期望的結果

回答

0

我已經解決它自己:)。因爲值來自數據庫,我沒有存儲latlng和公正地址。我決定在GoogleMaps.LocationServices.dll的幫助下也使用Nuget Package Manager下載latlng。現在我有地址,在我的表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輸入latitude-0.1660149被輸入longitude。 (Ofcourse用戶不知道這些技術術語,所以我從用戶那裏得到密碼後,發現所有的地址在DB的代碼,並使用geocoder用於獲取latlong) 這裏,stickist是表名和lattitudelongitude是列。 要按公里而非英里搜尋,與6371.

取代3959我把所有附近latlong並繪製他們:)

相關問題