javascript
  • google-maps
  • google-maps-api-2
  • markermanager
  • 2012-01-09 137 views 1 likes 
    1

    我有GPS跟蹤服務器和MarkerManager從數據庫添加清除標記的問題。我的截斷代碼:Google Maps API 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您可以登錄:「管理員」,密碼: - 在菜單,然後選擇IMEI(「12345」點擊測試圖(波蘭語只,英語很快「Mapatesty」) 「Wybierz IMEI」)例如35583201並查看路線(「Pokażtrasę:」)和從/到(「Od/Do」)日期(例如05.01.2012/05.01.2012)和「Filtruj」。您現在可以在框架中查看我的地圖腳本的來源。我想刷新僅帶有標記的標記3秒間隔和它的工作原理,但新的標記是舊標記覆蓋... 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] 
    

    嘗試使用Firebug擴展或Chrome使用Firefox內置的調試器通過JavaScript代碼來跟蹤並消除缺陷。

    相關問題