2012-12-19 7 views
6

Sto lavorando sulla funzionalità per scattare un'istantanea della mappa di google con polilinee e aprire una finestra popup sulla polilinea fare clic su google map. L'istantanea della mappa di Google con polilinee funziona su ma non è in grado di eseguire la finestra popup aperta di snapshot su polilinea. La polilinea viene visualizzata sulla foto sanpshot ma la finestra informativa non viene visualizzata. Ecco il codice per scattare un'istantanea.come eseguire l'istantanea della mappa di google con polilinea e openInfoWindowHtml

Questo codice è per inizializzare il controllo del codice su javascript onload:

 var snapShotControlOptions = { hidden: true }; 
       snapShotControlOptions.buttonLabelHtml="<snap id='snap' style='display:none' >snap</span>" 
       snapShotControl = new SnapShotControl(snapShotControlOptions); 
       map.addControl(snapShotControl); 

qui è il metodo prendere a scatto per scattare la foto sanp di Google Map.

 function takeSnap() { 

      //static map size 
      var sizeStr = "640x640"; 
      var imgSize = ""; 
      if (sizeStr != "") { 
       var sizeArray = sizeStr.split("x"); 
       imgSize = new GSize(sizeArray[0], sizeArray[1]); 
      } 
      snapShotControl.setMapSize(imgSize); 
      var format = "jpg"; 
      snapShotControl.setFormat(format); 

      var url = snapShotControl.getImage(); 
      //   document.getElementById("snapshot_canvas").src = url; 
      SaveImage(url); 

      //   
     } 

//this will add polyline overlay to draw line on google map with different color of polyline on google map . 

    var polyline = directionsArray[num].getPolyline(); 
       polyline.setStrokeStyle({ color: streetColor, weight: 3, opacity: 0.7 }); 
       polyline.ssColor=streetColor;     
       map.addOverlay(polyline); 


///this code will open the pop info window on polyline those polyline created on google map 

ed il problema è la loro questi finestra pop non incluso sanpshot quando prendo sanpshot di Google Map.

var MousePoint = ""; 
       var marker; 
       GEvent.addListener(map, "mousemove", function (point) { 
        MousePoint = new GLatLng(point.lat(), point.lng()); 

       }); 

       GEvent.addListener(polyline, "click", function() {     
        map.openInfoWindowHtml(MousePoint, headMarkerHtml);     
       }); 
       GEvent.addListener(polyline, "mouseout", function() { 
        // map.closeInfoWindow(); 
       }); 

puoi dire per favore chi passo finestra popup in sovrapposizione polilinea.

ho utilizzato il file javascript snapshotcontrol.js per scattare l'istantanea.

+0

puoi dare uno script jsfiddle? Posso aiutarti, ma dovrei vedere il tuo codice in fase di runtime – Mehmet

risposta

0

dalla sorgente snapshotcontrol

Questa libreria rende facile generare un'immagine "istantanea" della mappa interattiva , utilizzando l'API di Maps Google Static.

mappe statiche non supporta Windows informazioni o qualcosa di simile l'aggiunta di testo personalizzato alla mappa https://developers.google.com/maps/documentation/staticmaps/index

Si potrebbe disegnare la mappa su una tela all'interno del browser quindi disegnare la finestra di informazioni in cima a quello usando questo http://html2canvas.hertzen.com/ e poi scarica il contenuto della tela

Problemi correlati