这是一段代码,在我的脚本中重复了几次,所以我想把它作为函数。我希望它能成为最基本的功能。而且,如果有人给我举个例子,我会非常谨慎,如何在我的代码中调用函数。非常感谢您提前!
通过代码进行更改的内容是粗体(为了将来的目的:我使用OpenLayers3从GeoServer调用WFS层):
// 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
});
发布于 2017-11-03 10:54:21
将代码包装在一个函数中,然后按以下方式调用- someFunction()
function someFunction() {
// 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
});
}
someFunction()
发布于 2021-02-20 12:33:13
你可以用这个来发挥作用。
function functionName(parameter1, parameter2) {
// your code
}
// call function
functionName();
https://stackoverflow.com/questions/47093867
复制相似问题