OpenLayers3源码里面的symbolizer和literal

今天一直在看如何根据属性来创建不同的渲染,由于ol3还处于beta1版本,本身文档就很少,国内中文资料更是缺乏,不得不自己去看源码,于是就先看了一下style和expr里面的内容,expr里面相对好理解,但是style里面的symbolizer和literal确实挺让我难懂的,看了老半天,好像有点意思了,于是记录下来(也不知道现在理解的对不对):

symbolizer(渲染方法)和literal(渲染对象)
literal是能够对应到具体geotype的渲染对象(如line polygon point等等),而symbolizer用来生成这个对象,由于不同的geotype可能使用相同的渲染方法(如stroke既可以被用于line又可以用于polygon),因此不是直接创建一个具体的渲染对象,而是通过指定渲染方法结合不同的geotype来生成不同的渲染对象,所以在创建sytle的时候,会使用一个symbolizer数组,表示这个feature的所有需要使用的渲染方法,然后循环所有的geotype分别创建各自可用的渲染对象,每个geotype都可能用到多个渲染对象。

继续加油~

OpenLayers3源码里面的symbolizer和literal:等您坐沙发呢!

发表评论

点击正确的图片来提交评论:
快捷键:Ctrl+Enter