Google Maps и JavaScript, как динамически обновлять (повторно отображать) пользовательские фрагменты карты? - PullRequest
1 голос
/ 17 октября 2011

У меня есть база данных, в которой хранятся тысячи точек (широта, долгота).Эти точки отображаются на карте с использованием сервера листов.Такой сервер плиток сначала вычисляет для каждой плитки точки, которые попадают внутрь плитки, а затем рисует каждую точку (после преобразования координат).Мой Javascript выглядит следующим образом:

var overlayMaps = [{
  getTileUrl: function(coord, zoom) {
    return "tileserver.php?x="+coord.x+"&y="+coord.y+"&z="+zoom+"&g=1";
  },

  tileSize: new google.maps.Size(256, 256),
  isPng: true,
  opacity: 1.0
}];

var overlayMap = new google.maps.ImageMapType(overlayMaps[0]);
map.overlayMapTypes.setAt(0,overlayMap);

Теперь я динамически добавляю новые записи в базу данных каждые 5 секунд, и я хочу, чтобы соответствующие плитки обновлялись (пересчитывались и отображались) каждые 5 секунд.секунд.

Как я могу запустить мой сервер плиток для повторного вычисления плиток окна просмотра каждые 5 секунд?

Добавлено: плитки обновляются каждые 5 секунд без проблем, но основная проблемасейчас заново отображает их на карте ...

Заранее спасибо ...

1 Ответ

1 голос
/ 19 октября 2011

Плитки - это изображения, вы не можете знать, какие из них могут измениться. Кроме того, вы не можете обновлять отдельные плитки, но весь видовой экран. изображения не кэшируются, поэтому они всегда меняются. Для этого вы можете поместить временный флаг или случайное число в код URL вашей плитки следующим образом.

"tileserver.php?x="+coord.x+"&y="+coord.y+"&z="+zoom+"&g=1&r=" + Math.random(); 

С наилучшими пожеланиями

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