geojsonファイルがサーバーからロードされているマップ上にいくつかのポイントが表示されています。 geojsonファイルが変更されるので、マップレイヤーをリフレッシュするのに適しています。これを行うために、私はsource.Vector(OpenLayersをバージョン3.17.1)にGeoJSONファイルの最新バージョンを取得するためにXHR呼び出しを実行source.Vectorローダー関数を使用してマップ上にポイントが表示されない
var locationSource = new ol.source.Vector({
format: new ol.format.GeoJSON({
defaultDataProjection :'EPSG:4326'
}),
loader: vectorLoader,
strategy: ol.loadingstrategy.all
});
機能vectorLoader
を作成しました。これは
地図ショー上のポイントは、私が代わりにこのようなローダーのurlプロパティを使用していますsource.Vectorオブジェクトを使用する場合ためにGeoJSONファイルが有効なJSONを持って下にjsfiddleでシミュレートされています。
var locationSource = new ol.source.Vector({
url: '/openlayers/location.geojson',
format: new ol.format.GeoJSON({
defaultDataProjection :'EPSG:4326'
})
});
私はこれを使用しますが、新しいファイルが利用可能なときにgeojsonファイルのキャッシュバージョンを使用することは恐ろしいことです。私はより信頼性の高いものを求めています。そのため、これをloader
で動作させようとしています。
jsfiddleリンクは、上記のすべてのコードを持っており、正常に動作するようだが、ポイントはここにありaddFeatures
後のマップ、上に表示されません:
onSuccess: function(response) {
var format = new ol.format.GeoJSON();
var features = format.readFeatures(response, {
featureProjection: 'EPSG:4326'
});
source.addFeatures(features);
console.info(source.getFeatures());
map.updateSize();
source.changed();
あなたは何のポイントは、上で示していないことがわかりますjsfiddleで提供されるデータのマップ。私はここで何か基本的なものが欠けているように感じるが、多くの解決策を見つけた後は、何も働かない。「addFeatures」ロードが完了した後にスタイル関数を再度実行する必要があるようだ。上記のjsfiddleのコンソールログに表示されます。
うん、半径をコピーするのを忘れました。できるだけシンプルな私のフィドルを問題を表示するためにしようとしていたと私はそれを逃した..私はopenlayersとGISには新しいとまだいくつかの基本的なことにこだわっている。どうも!! – GoinOff