小编MKR*_*MKR的帖子

将 Openlayers 地图另存为 PDF(离线版)

我想将我的 openlayers 地图保存为 PDF。

不幸的是,我尝试的所有选项都不起作用。

第一个选项,我想最简单的一个在这里:

https://jsfiddle.net/Ljnya5gp/1/

我从中开发了这样的东西:

 function createPdf() {

 var doc = new jsPDF();

 source = $('#map')[0];

 specialElementHandlers = {
    '#map': function (element, renderer) {
        return true
    }
  };

 doc.fromHTML(
  source,
 15,
 15, 
 {
  'width': 170,
  'elementHandlers': specialElementHandlers
 }
   );
     doc.save('Area 5 map - alterations.pdf')
Run Code Online (Sandbox Code Playgroud)

但脚本只为我下载空白文档。

我想下载此部分(来自 index.html)

      <div id="map">
        <div id="popup" class="ol-popup">
            <a href="#" id="popup-closer" class="ol-popup-closer"></a>
            <div id="popup-content"></div>
        </div>
      </div>
Run Code Online (Sandbox Code Playgroud)

为什么输出的PDF文档是空白的?是由嵌入到 HTML 文件中的 Map 脚本引起的吗?

<div id="map">将附加到 HTML 文件的脚本称为:

在此处输入图片说明

jsfiddle 可以在这里找到:

https://jsfiddle.net/rjetdvyo/

它也是导致问题的原因吗?

更新:

根据下面的答案,我形成了这样的东西: …

html javascript pdf openlayers

7
推荐指数
1
解决办法
384
查看次数

QGIS 2 web 插件和形状绘图选项

我希望能够在 QGIS2web 插件生成的地图上绘制一些特征。

我在这里找到了一些 Openlayers 绘图插件:

https://cdn.rawgit.com/HamHamFonFon/ol3-drawFeatures/82f29a3f/examples/basic_use.html

但我不知道如何将它们与我现有的地图结合在一起。

我试图在我的地图(qgis2web.js 文件)中绘制绘图变量。

在以下代码之间的位置:

    var layerSwitcher = new ol.control.LayerSwitcher({tipLabel: "Layers"});
  map.addControl(layerSwitcher);

    var searchLayer = new SearchLayer({
  layer: lyr_Chamberspoles_2,
  colName: 'Object',
  zoom: 18,
  collapsed: true,
  map: map
   });


  map.getView().fit([-22418.727413, 6814717.343345, -21916.579134, 6815076.983154], map.getSize());
Run Code Online (Sandbox Code Playgroud)

我绘制了这样的图:

  var layerSwitcher = new ol.control.LayerSwitcher({tipLabel: "Layers"});
  map.addControl(layerSwitcher);

   var searchLayer = new SearchLayer({
  layer: lyr_Chamberspoles_2,
  colName: 'Object',
  zoom: 18,
  collapsed: true,
  map: map
  });


    map.addControl(searchLayer);
    document.getElementsByClassName('search-layer')[0]
    .getElementsByTagName('button')[0].className +=
   ' fa fa-binoculars';

    var vector_draw = new ol.layer.Vector({
    source: new ol.source.Vector(),
    style: new …
Run Code Online (Sandbox Code Playgroud)

javascript openlayers qgis

6
推荐指数
1
解决办法
182
查看次数

VBA Excel如何在文本框中写入Excel公式

如何将Excel公式放入文本框中?

我尝试过这样的事情:

 Sub CivBox()
  With ActiveSheet
   .Shapes("Civils 3").Copy
   [C26].Activate
   .Paste
   .Shapes(.Shapes.Count).Name = "Civils 4"
   .Shapes("Civils 4").TextFrame2.TextRange.Characters.Text = "=D51"
 End With
End Sub
Run Code Online (Sandbox Code Playgroud)

但只返回字符串

在此输入图像描述

是否可以将 Excel 公式放入文本框中,或者我应该先在某个单元格中准备它,然后将该单元格作为范围链接到该文本框中?


excel vba

2
推荐指数
1
解决办法
1061
查看次数

基于单元格值的行数(循环复制)

我想将我的地址列表与首页单元格中显示的数字同步。情况如下: 在此处输入图片说明

在单元格 D41 中,我有公寓的数量。现在,当我打开“地址列表”表时,我希望第一行立即复制 40 次(用红色标记)。我知道,它可以被描述为一个循环,这就是我尝试这段代码的原因:

  1. 原始来源在这里:

更改 ID 的多个图像的重新定位

 Private Sub AddressList()
 Dim i As Long
 Dim rg As Range, rg2 As Range

 Dim ws1 As Worksheet, ws2 As Worksheet

 Set ws1 = ThisWorkbook.Sheets("Frontsheet")
 Set ws2 = ThisWorkbook.Sheets("Address list")

 Set rg = ws1.Range("D15").Value


 For i = 1 To rg
 Set rg2 = ws2.Range("B2:R2")
 With rg2.Offset(i - 1, 0)
    .Top = .Top
    .Left = .Left

 End With

 Next I

 End Sub
Run Code Online (Sandbox Code Playgroud)

在这里,我收到错误 424:需要对象

我尝试过的另一个代码是:

 Sub AddressList()
  Dim …
Run Code Online (Sandbox Code Playgroud)

excel vba loops

2
推荐指数
1
解决办法
212
查看次数

VBA Excel 检测#REF!在工作簿中并告知它

下午好,

我想快速检查我的工作簿以检测潜在的#REF!值。

我在这里找到了一些很好的解决方案:

使用 Excel VBA 在工作簿中查找所有匹配项

但是当我应用它时,它会更改找到的所有值。

我需要一些东西,它会通知我,不需要的值出现。

在这个事件中,我修改了以下代码:

 Sub FindAndExecute()

 Dim Sh As Worksheet
 Dim Loc As Range

 For Each Sh In ThisWorkbook.Worksheets
 With Sh.UsedRange
    Set Loc = .Cells.Find(What:="#REF!")
    If Not Loc Is Nothing Then
        Do Until Loc Is Nothing
            If Loc = True Then
            MsgBox ("Error found")
            End If
            'Loc.Value = "Answered!"
            Set Loc = .FindNext(Loc)
        Loop
    End If
   End With
   Set Loc = Nothing
 Next

End Sub
Run Code Online (Sandbox Code Playgroud)

但我看不到任何反应。当在整个工作簿中找到#REF 值时,有什么方法可以弹出消息框?

excel vba

2
推荐指数
1
解决办法
1020
查看次数

VBA Excel 选择并删除所有具有相同 ID 的形状并删除

我想从我的工作表中删除所有形状。他们有相同的ID。

在此处输入图片说明

我找到了两个代码:

第一个:

Public Sub ActiveShapes()
    Dim ShpObject As Variant

    If TypeName(Application.Selection) = "Firestop" Then
        Set ShpObject = Application.Selection
        ShpObject.Delete
    Else
        Exit Sub
    End If
End Sub
Run Code Online (Sandbox Code Playgroud)

不管用。没有错误,但也完全没有反应。

第二种: 用VBA在Excel中选择一个形状

 Sub Firestopshapes()
     ActiveSheet.Shapes("Firestop").Delete
 End Sub
Run Code Online (Sandbox Code Playgroud)

有效,但只删除一个元素。就我而言,所有元素都具有“Firestop”ID。我想让它们一次全部删除。我怎样才能做到这一点?

excel vba

1
推荐指数
1
解决办法
629
查看次数

Javascript - 地图(函数)返回 this.value - 逗号在错误的一边

我使用此代码列出数组中的所有检查值:

   var healthSafety = $('input:checkbox[name=health_safety]:checked').map(function() {
    return this.value + (' ');
   }).get();
Run Code Online (Sandbox Code Playgroud)

但问题是,分隔它们的逗号落错了地方。

我得到类似的东西:

三重梯,天窗,通往屋顶的通道

但我想要这样的东西:

三重梯子、天窗、通往屋顶的通道。

我试着把:

   return this.value + (' ');
Run Code Online (Sandbox Code Playgroud)

但它没有帮助

有什么办法可以解决吗?

javascript

0
推荐指数
1
解决办法
41
查看次数

标签 统计

excel ×4

vba ×4

javascript ×3

openlayers ×2

html ×1

loops ×1

pdf ×1

qgis ×1