2012-12-19 5 views
6

Ich arbeite an der Funktionalität, um Schnappschuss von Google Map mit Polylinien zu machen und Popup-Fenster auf Polylinie zu öffnen klicken Sie auf Google-Karte. Der Schnappschuss von Google Map mit Polylinien funktioniert , aber es wird nicht möglich, Snapshot öffnen Popup-Fenster auf Polylinie. Polylinie werden auf Sanpshot Bild angezeigt, aber Info-Fenster werden nicht angezeigt. Hier ist Code, um Snapshot zu machen.wie man Schnappschuss von Google Map mit Polylinie und openInfoWindowHtml

Dieser Code ist der Code-Control auf JavaScript onload zu initialisieren:

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

hier ist die Methode nehmen lassen Sie die sanp Schuss von Google-Map zu nehmen.

 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 

und problem ist ihre diese pop-fenster nicht in sanpshot enthalten, wenn ich sanshot von google map nehme.

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(); 
       }); 

können Sie bitte sagen, wer ich Popup-Fenster in Polylinie Overlay übergeben.

Ich habe Javascript-Datei snapshotcontrol.js verwenden, um den Snapshot zu machen.

+0

können Sie ein Skript jsfiddle geben? Ich kann Ihnen helfen, aber ich sollte Ihren Code zur Laufzeit sehen – Mehmet

Antwort

0

aus der snapshotcontrol Quelle

Diese Bibliothek macht es einfach, ein Bild „Schnappschuss“ Ihre interaktiven Karte, mit dem Google Static Maps API zu erzeugen.

Statische Karten keine Info-Fenster oder irgendetwas wie das Hinzufügen von kundenspezifischen Text der Karte https://developers.google.com/maps/documentation/staticmaps/index

Sie unterstützen dann die Karte auf einer Leinwand im Browser ziehen könnten oben auf, dass das Infofenster ziehen Verwenden Sie diese http://html2canvas.hertzen.com/ und laden Sie dann den Canvas-Inhalt

Verwandte Themen