Кеширование Geo-запросов на основе порта просмотра - PullRequest
0 голосов
/ 23 апреля 2010

У меня есть веб-приложение с гигантской картой 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)

1 Ответ

0 голосов
/ 24 апреля 2010

Возможно, вы поступили неправильно.Попробуйте загрузить слой как 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...