緯度/経度でデータポイントを受信しています。私はOpenLayers 3の静止画像にこれらのすべてをプロットする必要があります。私はOSMなど何も使用していません。私の画像はベクターレイヤー(ポイント)を上にしてベースレイヤーにする必要があります。静的な画像レイヤーを追加し、緯度/経度の四隅に範囲を設定して、その上に自分のフィーチャーをプロットすることによって、それを動作させました。しかし、これはブラウザでは非常にゆっくりと実行され、モバイルでは数秒後にブラウザがクラッシュします。これを行う適切な方法は何ですか?別のレイヤータイプを使用すべきですか?緯度/経度座標をピクセルに変換する必要がありますか?もしそうなら、私はそれをどのように達成するでしょうか?スタティックイメージレイヤのパフォーマンスに関する問題 - レイヤーを開く3
私は私が必要とする投影に設定したときに、それはモバイル(私のターゲットプラットフォーム)上でクラッシュするように私は、ダウン静止画像層にクラッシュを狭め:
var ovProj = ol.proj.get('EPSG:4326');
var myStaticImageLayer = new ol.layer.Image({
source: new ol.source.ImageStatic({
url: '../_images/mallSitePlan.png',
imageExtent: [-121.90320739419553, 37.409945396290674, -121.89234011506653, 37.41962634032544],
projection: ovProj
})
});
var view = new ol.View({
center: ol.proj.transform([-121.90320739419553, 37.409945396290674], 'EPSG:4326', 'EPSG:3857'),
zoom: 18,
enableRotation: false
});
var map = new ol.Map({
target: 'map',
layers: [myStaticImageLayer],
view: view
})
私はこの射影でそれを実行した場合それはクラッシュすることはありませんが、EPSG:4326で受け取ったポイントを正しい場所にプロットすることができません。
var extent = [0, 0, 1024, 968];
var projection = new ol.proj.Projection({
code: 'xkcd-image',
units: 'pixels',
extent: extent
});
var imageLayer = new ol.layer.Image({
source: new ol.source.ImageStatic({
attributions: '© <a href="http://xkcd.com/license.html">xkcd</a>',
url: '../_images/mallSitePlan.png',
projection: projection,
imageExtent: extent
})
});
var map = new ol.Map({
layers: [imageLayer, myVectorLayer],
target: 'mymap',
view: new ol.View({
projection: projection,
center: ol.extent.getCenter(extent)
})
});
フィーリングを設定できますか?最初の例でEPSG:3857をなぜ使用しているのか理解できません。 – fradal83