我使用leaflet和esri-leaflet从专有的ArcGIS服务器创建地图。我正在尝试从打印服务器取回PDF。我有使用ESRI API 3.x的示例,但无法找到任何使用esri-leaflet的示例。
我知道打印服务器请求的格式,并且可以创建打印服务器请求,但需要mapOptions、spatialReference和scale的部分除外。我还知道,每次图像更改时,都会向地图服务器发送一个导出请求,该请求的响应包含我需要的信息。但是请求不是由我的代码生成的--它是作为事件的结果而发生的。
Esri-leaflet有一个事件请求成功,这似乎是我需要的。如果我可以拦截所有成功的请求,我就可以检查它是否是导出请求,并保存范围和规模(该范围嵌入了SR )。但是,我找不到任何示例,并且文档几乎没有给我提供如何继续进行的线索。
我并不执着于拦截请求,但似乎是获得我所需的最直接的方法。我知道我可以从leaflet获得边界并转换为范围,但获得比例更难(必须获得缩放级别并有相应的映射)。因此,这可能是另一种选择。
发布于 2018-04-27 07:55:24
Esri leaflet包含一种便捷的实用程序方法,可将Leaflet边界对象转换为Esri范围对象文字
// http://esri.github.io/esri-leaflet/api-reference/util.html
L.esri.Util.boundsToExtent(map.getBounds())要得到比例,你只需要在当前的缩放级别上做一些数学运算。
// https://gis.stackexchange.com/a/81390/21012
591657550.500000 / Math.pow(2, map.getZoom() - 1)现场演示:http://jsbin.com/ceceqir/edit?html,output
https://stackoverflow.com/questions/50032488
复制相似问题