openlayers3教材詳解及demo(完整) OpenLayers 3對OpenLayers網路地圖庫進行了根本的重新設計。版本2雖然被廣泛使用,但從JavaScript開發的早期發展階段開始,已日益現實出它的落後。 OL3已運用現代的設計模式從底層重寫。 最初的版本旨在支持第2版提供的功能,提 ...
openlayers3教材詳解及demo(完整) OpenLayers 3對OpenLayers網路地圖庫進行了根本的重新設計。版本2雖然被廣泛使用,但從JavaScript開發的早期發展階段開始,已日益現實出它的落後。 OL3已運用現代的設計模式從底層重寫。 最初的版本旨在支持第2版提供的功能,提供大量商業或免費的瓦片資源以及最流行的開源矢量數據格式。與版本2一樣,數據可以被任意投影。最初的版本還增加了一些額外的功能,如能夠方便地旋轉地圖以及顯示地圖動畫。 OpenLayers 3同時設計了一些主要的新功能,如顯示三維地圖,或使用WebGL快速顯示大型矢量數據集,這些功能將在以後的版本中加入。 首先需要明白的一點是,Source和Layer是一對一的關係,有一個Source,必然需要一個Layer,然後把這個Layer添加到Map上,就可以顯示出來了。通過官網的API搜索ol.source可以發現有很多不同的Source,但歸納起來共三種:ol.source.Tile,ol.source.Image和ol.source.Vector。
- ol.source.Tile對應的是瓦片數據源,現在網頁地圖服務中,絕大多數都是使用的瓦片地圖,而OpenLayers 3作為一個WebGIS引擎,理所當然應該支持瓦片。
- ol.source.Image對應的是一整張圖,而不像瓦片那樣很多張圖,從而無需切片,也可以載入一些地圖,適用於一些小場景地圖。
- ol.source.Vector對應的是矢量地圖源,點,線,面等等常用的地圖元素(Feature),就囊括到這裡面了。這樣看來,只要這兩種Source就可以搞定80%的需求了。
- 線上服務的Source,包括ol.source.BingMaps(使用的是微軟提供的Bing線上地圖數據),ol.source.MapQuest(使用的是MapQuest提供的線上地圖數據)(註: 由於MapQuest開始收費,ol v3.17.0就移除了ol.source.MapQuest),ol.source.OSM(使用的是Open Street Map提供的線上地圖數據),ol.source.Stamen(使用的是Stamen提供的線上地圖數據)。沒有自己的地圖伺服器的情況下,可直接使用它們,載入地圖底圖。