Как обновить координаты маркера, не обновляя карту
Добавлено: 08 сен 2011, 09:38
Всем привет, пытаюсь создать навигационную карту, используя технологию 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>
Скрипт добавляет новый маркер с новыми координатами, которые берутся из 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>