Всем привет, пытаюсь создать навигационную карту, используя технологию ajax, дошел до момента когда карта не обновляется, а обновляются только маркеры. Но проблема в том что маркеры не удаляются, а остаются прежнии. Т. е. если у меня стоит интервал смены координат 5 секунд, то через каждые 5 секунд накладывается новый слой с маркером, как от этого уйти. Привожу код...
Скрипт добавляет новый маркер с новыми координатами, которые берутся из id=result:
<script type='text/javascript'>
function pris()
{
//var onttext = document.getElementById('result').innerHTML;
var a = document.getElementById('result').innerHTML;;
var temp = new Array();
temp = a.split(',');
document.getElementById('text').innerHTML = temp[0];
var lat = temp[0];
var lon = temp[1];
var zoom = temp[2];
layerMarkers = new OpenLayers.Layer.Markers("Markers");
map.addLayer(layerMarkers);
var lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
var size = new OpenLayers.Size(21,25);
var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
var icon = new OpenLayers.Icon('http://www.openstreetmap.org/openlayers ... ize,offset);
layerMarkers.addMarker(new OpenLayers.Marker(lonLat,icon));
}
</script>
Как обновить координаты маркера, не обновляя карту
-
- Интересующийся
- Сообщения: 26
- Зарегистрирован: 08 сен 2011, 06:46
- Репутация: 0
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Как обновить координаты маркера, не обновляя карту
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Интересующийся
- Сообщения: 26
- Зарегистрирован: 08 сен 2011, 06:46
- Репутация: 0
Re: Как обновить координаты маркера, не обновляя карту
Мне приведенные примеры чет не сильно помогли...
Может кто еще подскажет...
Вот более подробно:
написал скриптик который грузит в блок div координаты через 5 секунд, что-то вроде <div id="koordinati">Lat=20,Lon=30,Zoom=15</div>
Одновременно с этим беру с блока координаты и рисую по ним маркер, добавляя на карту
layerMarkers = new OpenLayers.Layer.Markers("Markers");
map.addLayer(layerMarkers);
var lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
var size = new OpenLayers.Size(21,25);
var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
var icon = new OpenLayers.Icon('http://www.openstreetmap.org/openlayers ... ize,offset);
layerMarkers.addMarker(new OpenLayers.Marker(lonLat,icon));
Получается что он мне постоянно добавляет на карту новый слой, а как уйти от этого...
Может кто еще подскажет...
Вот более подробно:
написал скриптик который грузит в блок div координаты через 5 секунд, что-то вроде <div id="koordinati">Lat=20,Lon=30,Zoom=15</div>
Одновременно с этим беру с блока координаты и рисую по ним маркер, добавляя на карту
layerMarkers = new OpenLayers.Layer.Markers("Markers");
map.addLayer(layerMarkers);
var lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
var size = new OpenLayers.Size(21,25);
var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
var icon = new OpenLayers.Icon('http://www.openstreetmap.org/openlayers ... ize,offset);
layerMarkers.addMarker(new OpenLayers.Marker(lonLat,icon));
Получается что он мне постоянно добавляет на карту новый слой, а как уйти от этого...
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Как обновить координаты маркера, не обновляя карту
У маркеров есть свойство moveTo.
Spatial is now, more than ever, just another column- The Geometry Column.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя