- Mastering OpenLayers 3
- Gábor Farkas
- 290字
- 2021-07-16 09:33:48
Structure of OpenLayers 3
OpenLayers 3 is a well structured, modular, and complex library, where flexibility and consistency take higher priority than performance. However, this does not mean OpenLayers 3 is slow. On the contrary, the library highly outperforms its predecessor; therefore its comfortable and logical design does not really adversely affect its performance. The relationship of some of the most essential parts of the library can be described with a radial Universal Modeling Language (UML) diagram, such as the following:

Note
Reading a UML scheme can seem difficult, and can be difficult if it is a proper one. However, this simplified scheme is quite easy to understand. With regard to the arrows, 1
represents a one-to-one relation, while the 0..n
and 1
symbols denote a one-to-many relationship.
You will probably never get into direct contact with the two superclasses at the top of the OpenLayers 3 hierarchy: ol.Observable
, and ol.Object
. However, most of the classes you actively use are children of these classes. You can always count on their methods when you design a web mapping or WebGIS application.
In the diagram, we can see that the parent of the most essential objects is the ol.Observable
class. This superclass ensures all of its children have consistent listener methods. For example, every descendant of this superclass bears the on
, once
, and un
functions, making registering event listeners to them as easy as possible.
The next superclass, ol.Object
, extends its parent with methods capable of easy property management. Every inner property managed by its methods (get
, set
, and unset
) are observable. There are also convenience methods for bulk setting and getting properties, called getProperties
and setProperties
. Most of the other frequently used classes are direct, or indirect, descendants of this superclass.
- WebAssembly實戰
- Learning Docker
- Raspberry Pi for Secret Agents(Third Edition)
- VMware虛擬化技術
- 微服務從小白到專家:Spring Cloud和Kubernetes實戰
- Java高并發核心編程(卷1):NIO、Netty、Redis、ZooKeeper
- Unity 2018 Augmented Reality Projects
- MyBatis 3源碼深度解析
- Continuous Delivery and DevOps:A Quickstart Guide Second Edition
- Software-Defined Networking with OpenFlow(Second Edition)
- C++17 By Example
- 3D Printing Designs:Design an SD Card Holder
- R統計應用開發實戰
- 信息學競賽寶典:基礎算法
- VB語言程序設計教程(第2版)