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

    GPS 추적 서버 및 데이터베이스에서 MarkerManager로 추가 된 마커 지우기 문제가 있습니다. 내립니다 코드 :Google지도 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 (폴란드어 언어 만 영어 곧 "Mapatesty") "12345"테스트지도를 클릭 "Wybierz IMEI") 예 (예 : 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] 
    

    시도와 함께 방화범 확장 또는 크롬과 파이어 폭스를 사용하는 내장 된 디버거 자바 스크립트 코드를 추적하고 버그를 제거 할 수 있습니다.

    관련 문제