6

我正在开发使用折线拍摄谷歌地图快照的功能,并在折线上打开弹出窗口点击谷歌地图。带有折线的谷歌地图快照正在工作,但它无法在折线上拍摄快照打开弹出窗口。折线显示在 sanpshot 图片上,但信息窗口未显示。这是拍摄快照的代码。

此代码用于初始化 javascript onload 上的代码控件:

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

这是拍摄谷歌地图的sanp照片的方法。

        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 

问题是当我拍摄谷歌地图的快照时,他们的这些弹出窗口不包含在 sanpshot 中。

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

你能告诉我谁通过折线叠加中的弹出窗口。

我已经使用 javascript 文件 snapshotcontrol.js 来拍摄快照。

4

1 回答 1

0

从快照控制源

该库使用 Google Static Maps API 可以轻松生成交互式地图的图像“快照”。

静态地图不支持信息窗口或向地图添加自定义文本之类的任何内容 https://developers.google.com/maps/documentation/staticmaps/index

您可以在浏览器中的画布上绘制地图,然后使用此http://html2canvas.hertzen.com/在其上绘制信息窗口 ,然后下载画布内容

于 2013-02-06T20:12:57.747 回答