これは私のスクリプトで何度も繰り返しているコードなので、関数として作っていきたいと思います。私は、それができる最も基本的な機能であることを望んでいます。また、私はコード内でどのように関数を呼び出すことができるのか、いくつかの例が私に例を挙げてくれれば非常に喜んでいます。事前にどうもありがとうございました! (:OpenLayers3とGeoServerから私が呼び出していますWFS層の将来の目的のために):コードを変更JSでの関数の作り方
物事は大胆を作られています
// format used to parse WFS GetFeature responses
var **layer**GeojsonFormat = new ol.format.GeoJSON();
// source
var **layer**Source = new ol.source.Vector({
loader: function(extent, resolution, projection) {
var url = 'http://localhost:8080/geoserver/wfs?service=WFS&' +
'version=1.1.0&request=GetFeature&typename=**ws**:**layer**&' +
'outputFormat=text/javascript&format_options=callback:**layer**LoadFeatures' +
'&srsname=EPSG:3765&bbox=' + extent.join(',') + ',EPSG:3765';
// use jsonp: false to prevent jQuery from adding the "callback"
// parameter to the URL
$.ajax({url: url, dataType: 'jsonp', jsonp: false});
},
strategy: ol.loadingstrategy.bbox
});
/**
* JSONP WFS callback function.
* @param {Object} response The response object.
*/
window.**layer**LoadFeatures = function(response) {
**layer**Source.addFeatures(**layer**GeojsonFormat.readFeatures(response));
};
// layer
var **layer**Layer = new ol.layer.Vector({
source: **layer**Source,
style: **layer**Style
});
その後、それぞれの層がマップに含まれなければならないので、私は、VARのlayerLayerが同様に返されている必要があり:
// map
var map = new ol.Map({
target: document.getElementById('map'),
renderer: 'canvas',
view: olview,
layers: [layerOneLayer, layerTwoLayer, layerThreeLayer, ...],
logo: false
});
'** layer ** Layer'は実際の変数名ですか? – evolutionxbox
** layer **は変更可能なセグメントトラフです。これは次のようになります:** layer ** = layerOne、** layer ** = layerTwo。 ** ws **と同じです – mycupoftea