2012-01-09 6 views
1

У меня есть сервер отслеживания GPS и проблема с маркерами очистки, добавленными с помощью MarkerManager из базы данных. Мой усеченный код:API Карт Google v2: MarkerManager clearMarkers(); не работает

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml"> 
<head> 
<script src='http://maps.google.com/maps?file=api&amp;v=2&amp;hl=pl&amp;key=my_key' type='text/javascript'></script> 
</head> 
<body onload='mapStart()' onunload='GUnload()'> 
<script type='text/javascript'> 
var map; 
var mgr=false; 
var timeOut=null; 
function mapStart() 
{ 
    if(GBrowserIsCompatible()) 
    { 
    map = new GMap2(document.getElementById("map"),{mapTypes:  [G_NORMAL_MAP,G_HYBRID_MAP,G_SATELLITE_MAP,G_PHYSICAL_MAP]}); 
    center = new GLatLng(52.536395, 13.42534); 
    map.setCenter(center, 6); 
    mgr = new GMarkerManager(map,{maxZoom: 19}); 
    refreshMarkers(); 
    } 
} 
function refreshMarkers() 
{ 
    clearTimeout(timeOut); 
    GDownloadUrl('dane2.php', function(dane,respCode) 
    { 
     if(respCode==200) 
     { 
      var xml = GXml.parse(dane); 
      var marker = dodajMarker(arguments, 15, 15); 
     } 
     else 
     { 
      alert('Cant open dane2.php'); 
     } 
    }); 
    mgr.clearMarkers(); // ??? 
    timeOut=setInterval("refreshMarkers()",2000); 
} 
function dodajMarker(arguments, minZoom, maxZoom) 
{ 
    var ikona = new GIcon(); 
    ikona.image = 'http://www.google.com/intl/en_ALL/mapfiles/dd-start.png'; 
    ikona.iconSize = new GSize(20, 34); 
    ikona.iconAnchor = new GPoint(10, 34); 
    var marker = new GMarker(new GLatLng(latitude,longitude),{icon: ikona}); 
    mgr.addMarker(marker,minZoom,maxZoom); 
    return marker; 
} 

</script> 
<div id="map" style="align: center; width: 1000px; height: 490px; solid black;  background: gray;"></div> 
</body> 
</html> 

Моей страницы: http://m2mgsm.com/gps/index.php Вы можете войти: "администратор", пароль: "12345" Нажмите Test Map ("Mapatesty" - польский язык только английский в ближайшее время) в меню, а затем выберите IMEI («Wybierz IMEI»), например 35583201и проверьте маршрут («Pokaż trasę:») и «От/до» («Od/Do») (например, 05.01.2012/05.01.2012) и «Filtruj». Теперь вы можете просматривать исходный код моего сценария карты в кадре. Я хочу обновить ТОЛЬКО маркеры, например. 3 сек. интервал, и он работает, но новые маркеры - OVERLAY на старых маркерах ... Ps. Извините за мой английский.

ответ

2

У вас есть ошибки ваши JS:

ReferenceError: kontener is not defined [http://m2mgsm.com/gps/mapatesty.php:259] 
TypeError: Object #<yv> has no method 'clearMarkers' [http://m2mgsm.com/gps/mapatesty.php:459] 

Попробуйте использовать Firefox с расширением Firebug или Chrome с помощью встроенного в отладчике, чтобы отследить через ваш код JavaScript и устранить ошибки.