arcgis api for js入门开发系列二十打印地图的那些事
地图打印是GIS应用系统不可或缺的功能,通常用于将地图连同查询、统计结果及自定义图形输出保存。本文将介绍两种地图打印方法,适用于通过ArcGIS Server发布的服务和调用其他数据源的地图切片。
针对ArcGIS Server发布的服务,可以利用PrintTask功能执行打印任务,这是官方API提供的一种便捷方法。然而,如果地图切片来源于其他渠道,如天地图、百度地图,打印结果通常会显示空白底图。在使用天地图为底图的情况下,地图中叠加了一个MapServer用于区分,打印出来的底图显示为天地图空白。
另一种解决方法是借助html2canvas实现屏幕截图功能,这允许从网页中捕获指定区域的图像。此方法的实现步骤包括:确定截图区域、克隆HTML片段、移除不必要的DOM元素、调用html2canvas插件将HTML片段转换为canvas,并最终输出。尽管如此,跨域访问问题阻碍了图像输出。为解决跨域问题,可以通过设置代理服务器或在proxy.jsp文件中添加允许跨域的代码来实现。
经过调整,最终可以成功生成包含地图切片的截图。通过这种方法,能够有效解决跨域访问限制,实现地图切片的屏幕截图输出。值得注意的是,调整proxy.jsp文件以允许跨域访问是关键步骤之一。
多重随机标签