在我的GHC Haskell
应用程序中使用stm,network-conduit和conduit,我为每个socket自动分叉使用了一个strand runTCPServer
.Strands可以通过使用广播TChan与其他线路进行通信.
这展示了我想如何建立管道"链":
所以,我们这里有两个源(每个都绑定到辅助管道),它们产生一个接受并转入的Packet
对象,然后发出套接字.对于两个输入的有效(性能是一个问题),我遇到了很大的困难.encoder
ByteString
如果有人能指出我正确的方向,我将不胜感激.
既然我没有尝试就发布这个问题是不礼貌的,我会把我以前在这里尝试过的东西放进去;
我已经编写/编写了一个函数,它(阻塞)从TMChan(可关闭的通道)生成一个源;
-- | Takes a generic type of STM chan and, given read and close functionality,
-- returns a conduit 'Source' which consumes the elements of the channel.
chanSource
:: (MonadIO m, MonadSTM m)
=> a -- ^ The channel
-> (a -> STM (Maybe b)) -- ^ The read function
-> (a -> STM ()) -- ^ The close/finalizer function
-> Source m b
chanSource …
Run Code Online (Sandbox Code Playgroud) 我正在尝试基于16384x16384像素的图像创建地图,但我还想使用此给定图像的像素坐标在特定位置添加标记.
我创建了一个tile图层,一个map元素并设置了最大边界,这样我就无法使用以下代码滚动出图像:
var map = L.map('map', {
maxZoom: 6,
minZoom: 2,
crs: L.CRS.Simple
}).setView([0, 0], 2);
var southWest = map.unproject([0,16384], map.getMaxZoom());
var northEast = map.unproject([16384,0], map.getMaxZoom());
map.setMaxBounds(new L.LatLngBounds(southWest, northEast));
L.tileLayer('tiles/{z}/{x}/{y}.png', {
tms: true
}).addTo(map);
Run Code Online (Sandbox Code Playgroud)
我想要添加到地图中的点存储在外部文件中作为GeoJSON,它们看起来像这样http://www.de-egge.de/maps/terranigma/terraPoints.js
我使用这段代码加载它们:
var terraPoints = new L.geoJson(points, {
onEachFeature: function (feature, layer) {
layer.bindPopup(
"<b>Ort: </b>" + feature.properties["points[, 1]"]
);
}
});
map.addLayer(terraPoints);
Run Code Online (Sandbox Code Playgroud)
但是,当然,他们没有出现,因为参考系统不匹配.点使用像素坐标,但我的地图使用地理坐标.
有没有办法在加载点时"取消项目"?
任何帮助非常感谢,并提前感谢!
我有一个带有TMS图层的OpenLayers地图.对于每次缩放更改,我的地图会发出大约56个地图图块请求(取决于地图/屏幕大小).如果用户快速放大或缩小,所有这些地图图块请求都按顺序排队,我的理解是不会异步调用来自OpenLayers的地图图块请求.因此,如果用户快速放大或缩小,则最终会有许多不再需要的地图图块请求,并且在完成所有先前的请求之前,不会加载所需的图块.
有什么方法可以在缩放更改时中止挂起的地图图块请求?如果没有通过OpenLayers,是否有某种方法可以中止对特定URL的所有待处理请求?
请问有没有关于如何开始使用 BruTile 的文档?
我目前正在使用 SharpMap,我需要预先缓存切片以加快进程
到目前为止,我一直在使用 Indy 10,没有出现任何问题,但最近在安装 TMS 组件包时出现问题后,我正在寻找升级 Indy 的替代方法。TMS 在带有 CB2010 的干净系统上安装良好,但是当我使用以下过程升级 Indy 时,在启动 IDE 时以及 TMS 安装后立即出现错误 - 错误为:The procedure entry point @Idhttp@TidCustomHTTP@GetRequestHeaders$qqrv could not be located in the dynamic link library IndyProtocols140.bpl
。显然我这边有一些问题,因为 TMS 确实是在干净安装时安装的,而没有 Indy 升级。
因此,如果我用较新的版本覆盖 Indy 文件,也许它可以正确安装。
以下是我现在使用的 Indy 升级的安装过程(在 TMS 安装之前一直有效):
启动IDE并删除Indy10 Protocols Design Time
并Indy10 Core Design Time
打包
运行此脚本来删除旧的 Indy 文件:
del /q "c:\Program Files\Embarcadero\RAD Studio\7.0\lib\Indy10\*.*"
del /q "c:\Program Files\Embarcadero\RAD Studio\7.0\lib\debug\Indy10\*.*"
del /q "c:\Program Files\Embarcadero\RAD Studio\7.0\include\Indy10\*.*"
del /q /s "c:\Program Files\Embarcadero\RAD …
Run Code Online (Sandbox Code Playgroud)tms ×5
abort ×1
ajax ×1
c++builder ×1
conduit ×1
geojson ×1
gis ×1
haskell ×1
indy10 ×1
installation ×1
javascript ×1
leaflet ×1
networking ×1
openlayers ×1
sharpmap ×1
stm ×1
tiles ×1