【问题标题】:Cannot take image of ArcGIS Map url in background service无法在后台服务中获取 ArcGIS Map url 的图像
【发布时间】:2018-12-12 18:35:16
【问题描述】:

我想在后台服务中获取地图图像(包括图层、图形等),但无法使其与我自己的代码 (.NetCore) 或某些公共服务(例如(尝试使用 10或更多 - 付费和免费):

https://www.url2png.com/#testdrive SelectPdf for .NET - 从 Url 转换为图像 - C# / ASP.NET

...

它在使用诸如 firefox/chrome 等浏览器时总是返回一个空白页面。

我要截图的网址是 https://siteref.com.au/map/GetImage?type=Planning&reportId=158

我的问题是:

  1. 有没有什么配置可以防止后台webkit加载arcgis js文件? (我在上面的服务器上启用了 cors 和其他安全功能以使其正常工作)

  2. 有没有其他好的/正确的方法可以在后台服务中制作地图快照图像?例如。我想每天使用 Windows 服务创建一个区域的图像(带有标记、弹出窗口等)以发送给订阅用户

p.s 我可以从谷歌地图、必应地图,甚至我当前网站的其他页面(上图)制作图像。它只是无法与 ArcGIS 地图一起使用

【问题讨论】:

  • 它不适用于谷歌地图:imgur.com/rWAthY4
  • 感谢您的回复,我再次使用 Google 地图 URL 运行并收到警告返回(警告:在已处理的 ResourceObject 的 NetworkAccessManager 上收到 createRequest 信号。这可能表明 iframe 花费了太长时间加载。)
  • 我可以使用 bing imgur.com/a/VP8DYOv 生成屏幕截图,尽管它说不支持 wkhtmltopdf。我猜一个完整的网络引擎需要嵌入到后台代码中。检查并在我得到结果时通知您

标签: .net background arcgis


【解决方案1】:

请在下面的链接中找到答案的作者。很快,我需要使用自己的服务器和真实的浏览器在前台生成图像。

引用埃里克的话

我就您的问题与 ArcGIS 专家进行了交谈,这就是我收集到的信息。 ArcGIS 使用 WebGL 绘制地图,而 WebGL 使用您的 GPU 来处理图像,这不是 Web 浏览器的功能,而是 Web 浏览器将某些东西交给 GPU 并在屏幕上呈现。我认为 Webkit 不会从 WebGL 调用中获取光栅化图像,但它会直接呈现到屏幕上。

这是他们的想法。我怀疑他们是正确的。有多种方法可以利用 ArcGIS Javscript 库来获取图像,但它必须在您的服务器上,您无法针对其他人的服务器进行这些调用。

我知道这不是问题,但我希望它能回答你的问题。

https://groups.google.com/forum/#!topic/wkhtmltopdf-general/zxixypBBLfA

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-23
    • 1970-01-01
    • 2019-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-20
    • 1970-01-01
    相关资源
    最近更新 更多