2010-04-23 34 views
0

我有一個網絡應用程序,裏面有一個巨大的Google地圖。當用戶在地圖上平移和縮放時,通過AJAX調用動態加載點,其中包括視口邊界(NE和SW角點座標)以及其他一些參數。緩存基於查看端口的地理查詢

如何緩存這些點數請求?問題是參數是高度可變的,並且(最差)不是離散的,即具有大量小數位的浮點數。我正在使用ASP.NET-MVC/C#/ LINQ2SQL/SQL-Server,但問題不在於該平臺。

這是相關方法的簽名:

[AcceptVerbs(HttpVerbs.Post)] 
public JsonResult Data(string date, string categories, 
    string ne_lat, string ne_lng, 
    string sw_lat, string sw_lng) 

回答

0

你可能要對這個錯誤的方式。嘗試使用GGeoXML(或KML)加載圖層,而不是作爲標記的自定義請求,然後Google API將處理要顯示的點和緩存。

var myLatlng = new google.maps.LatLng(49.496675,-102.65625); 
    var myOptions = { 
     zoom: 4, 
     center: myLatlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 

    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

    var georssLayer = new google.maps.KmlLayer('http://api.flickr.com/services/feeds/geo/[email protected]〈=en-us&format=feed-georss'); 
georssLayer.setMap(map); 

http://code.google.com/apis/maps/documentation/v3/examples/layer-georss.html

如果您需要刷新你的點,然後添加一個(假的或時間戳)參數的URL

http://myhost.com/file.kml?rand=1

結束