[英]How do I initialize the ol.map using my own class myMap (using inheritance), in OpenLayers 3?
我正在使用GIS API,並且正在從OpenLayers 2更改為Openlayers 3。
我想使用我自己的類實例化ol.map,如下所示:
myMap.js
goog.inherits(myMap, ol.map);
index.html
new myMap({
layers: [{ ... }]
...
})
不幸的是,地圖沒有顯示在瀏覽器中。 什么都沒發生。
是否需要在myMap初始化中執行某些功能,例如在OpenLayers 2中執行? 諸如“ this.prototype.parent.initialize ...”之類的東西?
謝謝。
若昂
編輯1
ol.map實例化通常是這樣工作的: http : //jsfiddle.net/joaorodr84/SrBWL/
這就是我希望使用我自己的“ myMap”類進行工作的方式: http : //jsfiddle.net/joaorodr84/T2Bet/11/
如果您不能(或不想)使用ol-whitespace.js和goog庫,則可以使用以下替代解決方案:
Map = function (options){
ol.Map.call(this, options);
};
Map.prototype = Object.create(ol.Map.prototype);
大號
通過使用ol-whitespace.js而不是ol.js解決了該問題,因為好的方法未在壓縮版本中導出。
此外,代碼如下所示:
myMap = function(options) {
goog.base(this, options);
};
goog.inherits(myMap, ol.Map);
有用! ;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.