ポリラインを使用して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を使用しました。