【问题标题】:Caching view-port based Geo-queries缓存基于视口的地理查询
【发布时间】:2010-04-23 11:17:24
【问题描述】:

我有一个网络应用程序,里面有一张巨大的谷歌地图。当用户在地图上平移和缩放时,点会通过 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)

【问题讨论】:

    标签: google-maps caching geospatial


    【解决方案1】:

    您可能以错误的方式处理此问题。尝试将图层加载为 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/?g=322338@N20〈=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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-17
      • 2020-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多