我正在实现一个构建在OpenLayers3之上的Web地图客户端,它应该能够连接到多个WMS服务器,请求WMS功能并显示服务器通告的层.
var MyMapClient = function(params) {
this.wms_sources_ = params.wms_sources;
this.wms_capabilities_ = [];
}
MyMapClient.prototype.parse_capabilities = function(index) {
var capabilities = this.wms_capabilities_[index];
// do something with capabilities
}
MyMapClient.prototype.load_wms_capabilities = function() {
var parser = new ol.format.WMSCapabilities();
jQuery.each(this.wms_sources_, (function (index, wms_source) {
console.log("Parsing " + wms_source.capabilities_url);
jQuery.when(jQuery.ajax({
url: wms_source.capabilities_url,
type: "GET",
crossDomain: true,
})).then((function (response, status, jqXHR) {
var result = parser.read(response);
console.log("Parsed Capabilities, version " + result.version);
this.wms_capabilities_[index] = result;
return index;
}).bind(this)).then(this.parse_capabilities.bind(this));
}).bind(this));
};
Run Code Online (Sandbox Code Playgroud)
上面的代码运行正常,但我bind(this)每次都想调用一个需要访问MyMapClient实例的"私有"变量的函数.是否有更好的方法可以一致地访问实例内部,而不会牺牲可读性?
有没有办法让Vim中的状态行跨越多行(例如插入换行符或类似的东西)?
我想%F在一行中打开已打开文件的完整路径(),在下一行中有一些其他信息,因为我经常在长路径中打开文件,并且整个路径"扩展"整个状态行,隐藏所有其他指标和旗帜.另一方面,我仍然希望看到当前文件的完整路径.
我知道我可以设置完整路径宽度的上限,例如%.40F,我只想知道是否还有其他方法.
可以为ol.style.Text实例(offsetX和offsetY属性)定义偏移量并为实例定义自定义锚点ol.style.Icon。ol.style.Circle或中均不存在此功能ol.style.RegularShape。
我需要将我的特征绘制为具有适当偏移的四个形状(三角形、圆形等),以便它们不会重叠并完全渲染。
Egx是特征的真实坐标,四个Os是四个不同颜色的圆圈。每个都代表一个属性的值,我需要根据该值动态地为它们着色。
O O
x
O O
Run Code Online (Sandbox Code Playgroud)
实施抵消的最佳方式是什么?是否有可能以某种面向未来的方式扩展现有原型?或者我应该从头开始编写自己的样式(我想尽可能多地重用现有的 OL-3 代码)?ol.style.Icon或者使用四个具有不同锚点的 s更好?