2017-05-02 6 views
0

OpenLayers v3のバグはありますか(V3のバージョンに関係なく)。コードがOpenlayers 3:インタラクションDragBoxが動作しない

ol.js:201 Uncaught TypeError: Cannot read property 'f' of null

at Array. (ol.js:201) at zm (ol.js:245) at bq (ol.js:370) at aq.ve (ol.js:371) at W.l.Kn (ol.js:453) at oi.f (ol.js:142)

ここv3.9.0 で使用した場合。これは、次のとおりです:

私は自分のマップにol.interaction.DragBoxを追加しようが、私はドラッグを開始するとき、ol.jsはメッセージでクラッシュここで
var vectorSource = new ol.source.Vector({ 
     url: 'https://openlayers.org/en/v4.1.0/examples/data/geojson/countries.geojson', 
     format: new ol.format.GeoJSON() 
     }); 

var map = new ol.Map({ 
    target: 'map', 
    layers: [ 
      new ol.layer.Tile({ 
      source: new ol.source.OSM() 
      }), 
      new ol.layer.Vector({ 
      source: vectorSource 
      }) 
    ], 
    view: new ol.View({ 
    center: ol.proj.transform([37.41, 8.82], 'EPSG:4326', 'EPSG:3857'), 
    zoom: 4 
    }) 
}); 

var dragBox = new ol.interaction.DragBox({ 
    condition: ol.events.condition.platformModifierKeyOnly 
}); 

map.addInteraction(dragBox); 

あなたはバイオリンを見つけることができます。http://jsfiddle.net/3svztkot/2/

ここでは、まったく同じコードで、V4.1.0とフィドルを見つけることができますが、ここでは完全に動作しています! :http://jsfiddle.net/872cuk52/2/

これに関する既知のバグはありますか?私は私のような以前のケースを探しましたが、成功しませんでした。ご協力いただきありがとうございます !

答えて

1

問題が見つかりました。ここに問題の「理由」があります。後で他の人に役立つかもしれません。 OpenLayersをv3では

は、あなたはこのように、相互作用にスタイルを設定する必要があります。

var dragBox = new ol.interaction.DragBox({ 
    condition: ol.events.condition.shiftKeyOnly, 
    style: new ol.style.Style({ 
     stroke: new ol.style.Stroke({ 
      color: [0, 0, 255, 1] 
     }) 
    }) 
}); 

すると、それが動作します。 OpenLayers 4.1.0では少なくともインタラクションのデフォルトスタイルが定義されているので、クラッシュすることはありません。

+0

有効な回答としてお答えください:) – Svinjica

関連する問題