6

ポリラインを使用してGoogleマップのスナップショットを撮り、Googleマップでポリラインをクリックしてポップアップウィンドウを開く機能に取り組んでいます。ポリラインを含む Google マップのスナップショットは機能していますが、ポリラインでポップアップ ウィンドウを開いてスナップショットを作成することはできません。ポリラインはサンショット画像に表示されていますが、情報ウィンドウは表示されていません。スナップショットを取得するコードは次のとおりです。

このコードは、javascript onload でコード コントロールを初期化するためのものです。

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

これが、Googleマップのサンプショットを撮るスナップショットの方法です。

        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 

問題は、Googleマップのサンショットを撮ったときに、これらのポップウィンドウがサンショットに含まれていないことです。

  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 に答える