首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用polyline和openInfoWindowHtml拍摄谷歌地图的快照

如何用polyline和openInfoWindowHtml拍摄谷歌地图的快照
EN

Stack Overflow用户
提问于 2012-12-19 06:43:37
回答 1查看 1.9K关注 0票数 6

我正在致力于功能,以抓取谷歌地图的多线快照,并打开弹出窗口,在多线点击谷歌地图。带有多边形的google地图的快照是有效的,但是它不能在polyline上获取快照打开的弹出窗口。polyline显示在散光照片上,但信息窗口没有显示。下面是快照的代码。

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

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

以下是抓取快照的方法来拍摄谷歌地图的sanp快照。

代码语言:javascript
复制
        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 

问题是,当我拍摄谷歌地图时,他们的这些弹出窗口不包括在桑普图上。

代码语言:javascript
复制
  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来获取快照。

EN

回答 1

Stack Overflow用户

发布于 2013-02-06 20:12:57

从快照控制源

这个库可以使用Google轻松生成交互式地图的图像“快照”。

静态映射不支持信息窗口,也不支持向映射https://developers.google.com/maps/documentation/staticmaps/index添加自定义文本之类的内容

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13946891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档