我正在构建一个应用程序,用于将特征映射到描绘平面图的图像层(使用OL的ImageStatic层).每个功能都有一个svg图标作为样式,并可能有额外的svg图标作为边缘的"徽章".
我在这个jsfiddle中设置了代码相关部分的简化版本.
var map = new ol.Map({
layers: [],
interactions: ol.interaction.defaults({}),
target: "map"
});
var pixelProjection = new ol.proj.Projection({
code: 'pixel',
units: 'pixels',
extent: [0, 0, 4097, 1596]
}),
// create layer
floorMapLayer = new ol.layer.Image({
source: new ol.source.ImageStatic({
url: "https://sunriverassistedliving.com/wp-content/uploads/Main-Floor-Plan.jpg",
imageSize: [4097, 1596],
projection: pixelProjection,
imageExtent: pixelProjection.getExtent()
})
}),
// create view
floorMapView = new ol.View({
projection: pixelProjection,
center: [2000, 750] || ol.extent.getCenter(pixelProjection.getExtent()),
zoom: 1
}),
poiSource = new ol.source.Vector({
features: []
}),
vectorLayer = new ol.layer.Vector({ …Run Code Online (Sandbox Code Playgroud) 有一种简单的方法可以通过以下方式在ruby中重新映射哈希:
从:
{:name => "foo", :value => "bar"}
Run Code Online (Sandbox Code Playgroud)
至:
{"foo" => "bar"}
Run Code Online (Sandbox Code Playgroud)
优选地,在迭代这种类型的散列的数组的同时使得操作变得简单:
从:
[{:name => "foo", :value => "bar"}, {:name => "foo2", :value => "bar2"}]
Run Code Online (Sandbox Code Playgroud)
至:
{"foo" => "bar", "foo2" => "bar2"}
Run Code Online (Sandbox Code Playgroud)
谢谢.
假设我有一个逗号分隔值的字符串,用单引号括起来,可能包含或不包含逗号,如下所示:
"'apples,bananas','lemons'"
Run Code Online (Sandbox Code Playgroud)
我想把它拆分成一个数组
["apples,bananas", "lemons"]
Run Code Online (Sandbox Code Playgroud)
显然,如果我split(',')是我得到的字符串
[ "'apples", "bananas'", "lemons" ]
Run Code Online (Sandbox Code Playgroud)
我不明白.我想出来的唯一方法是做到这一点
a = []
s = "'apples,bananas','lemons'"
s.scan(/\'([^\']+)\'/){|i| a << i[0]}
# result is ["apples,bananas", "lemons"]
Run Code Online (Sandbox Code Playgroud)
但是有更优雅的方式吗?有没有我得不到的分裂方法,这会导致奇怪的结果?
ruby ×2
hash ×1
html5-canvas ×1
javascript ×1
openlayers-3 ×1
performance ×1
remap ×1
split ×1
svg ×1