簡體   English   中英

如何使用Rotativa打印在PDF上使用谷歌地圖API的地圖?

[英]How to print a map that uses the google maps API on a PDF using Rotativa?

我正在使用Rotativa來獲取包含以前在模態上顯示的信息的PDF,然而,當用戶點擊按鈕獲取PDF時,這個不包含使用谷歌地圖API的地圖,是否存在有什么辦法解決這個問題?

以下是先前向用戶顯示的Modal信息:

MODAL

這是PDF,注意PDF沒有打印地圖,它應該在那里:

PDF

這是我的代碼:

前端代碼


             var map = new google.maps.Map($('#map')[0], {
            center: { lat: 19.397, lng: -99.144 },
            zoom: 10
        });

        var marker = new google.maps.Marker({
            position: new google.maps.LatLng(19.397, -99.144),
            map: map,
            title: ""
        });

        var bounds = new google.maps.LatLngBounds();

        google.maps.event.trigger(map, "resize");
        var center = map.getCenter();
        google.maps.event.trigger(map, "resize");
        map.setCenter(center);


        marker.setPosition(LatLng);
        google.maps.event.trigger(map, 'resize');
        map.setCenter(LatLng);
        map.setZoom(18);



        /*Poligonos*/
        var rut = $("#txt_Ruta").val();
        var ced = $("#txt_Cedis").val();
        var frecu = CosasModal.orden.Frecuencia;

        var jqxhr = $.post("/Poligonos/ObtenerPoligono", { "Ruta": rut, "Frecuencia": frecu, "Cedis": ced },
            function (data) {
                if (data.status == "OK") {
                    var Poligono = new google.maps.Polyline({
                        path: data.coordinates,
                        geodesic: true,
                        strokeColor: '#FF0000',
                        strokeOpacity: 1.0,
                        strokeWeight: 2
                    });

                    Poligono.setMap(map);

                    var infowindow = new google.maps.InfoWindow({
                        content: "Ruta " + rut + "<br>Frecuencia: " + frecu + "<br>Cedis: " + ced
                    });

                    google.maps.event.addListener(Poligono, 'click', function (event) {

                        infowindow.setPosition(event.latLng);
                        infowindow.open(map);
                    });

                    var points = Poligono.getPath().getArray();
                    for (var n = 0; n < points.length; n++) {
                        bounds.extend(points[n]);
                    }
                    map.fitBounds(bounds);
                }
            });
        jqxhr.fail(function () {
            //alert("Error de comunicación con el servidor.");
            swal("Error", "Error de comunicación con el servidor.", "error");
        });
        map.fitBounds(bounds);
        map.panToBounds(bounds);
        /*fin poligonos*/


Rotativa代碼 (假設您收到idOrden變量)

   var pdf = new ActionAsPdf("ModalPedidosPdfView", new { idOrden = idOrden })
            {
                FileName = "ReporteOrdenIndividual" + DateTime.Now.ToString() + "_" + idOrden
            };

            return pdf;

我使用Select.pdf而不是Rotativa解決了我的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM