Javascript 未捕获类型错误:无法读取属性';隐藏&x27;HTMLButtoneElement.toogleHideShowInput(ol3 search layer.js:32)中未定义的
我正在开发一个包含openstreetmap的应用程序。在地图上我添加了一个搜索层Javascript 未捕获类型错误:无法读取属性';隐藏&x27;HTMLButtoneElement.toogleHideShowInput(ol3 search layer.js:32)中未定义的,javascript,Javascript,我正在开发一个包含openstreetmap的应用程序。在地图上我添加了一个搜索层 这在dextop版本中正常工作,但当我使用移动版本并单击搜索按钮时,出现以下控制台错误: 未捕获的TypeError:无法读取处未定义的属性“hide” HTMLButtoneElement.toogleHideShowInput(ol3搜索层.js:32) 下面我附上搜索操作的javascript代码 有人能帮我吗 (function(f){if(typeof exports==="object"&&a
这在dextop版本中正常工作,但当我使用移动版本并单击搜索按钮时,出现以下控制台错误: 未捕获的TypeError:无法读取处未定义的属性“hide” HTMLButtoneElement.toogleHideShowInput(ol3搜索层.js:32) 下面我附上搜索操作的javascript代码 有人能帮我吗
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}(g.ol || (g.ol = {})).SearchLayer = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
var utils = require('./utils');
function SearchLayer(optOptions) {
var horseyComponent;
var select;
var options = optOptions || {};
if (optOptions.layer) {
options.layer = optOptions.layer;
} else {
throw new Error('error');
}
options.map = optOptions.map;
var source;
if (options.layer instanceof ol.layer.Image &&
options.layer.getSource() instanceof ol.source.ImageVector) {
source = options.layer.getSource().getSource();
} else if (options.layer instanceof ol.layer.Vector) {
source = options.layer.getSource();
}
options.colName = optOptions.colName;
var button = document.createElement('button');
var toogleHideShowInput = function() {
var input = document.querySelector('form > .search-layer-input-search');
if (utils.hasClass(input, 'search-layer-collapsed')) {
utils.removeClass(input, 'search-layer-collapsed');
} else {
input.value = '';
utils.addClass(input, 'search-layer-collapsed');
horseyComponent.hide();
select.getFeatures().clear();
}
};
button.addEventListener('click', toogleHideShowInput, false);
button.addEventListener('touchstart', toogleHideShowInput, false);
var form = document.createElement('form');
form.setAttribute('id', 'random');
form.onsubmit = function(){return false};
// form.setAttribute('action', 'javascript:void(0);');
var input = document.createElement('input');
input.setAttribute('id', 'ol-search-input');
var defaultInputClass = ['search-layer-input-search'];
if (optOptions.collapsed) {
defaultInputClass.push('search-layer-collapsed');
}
input.setAttribute('class', defaultInputClass.join(' '));
input.setAttribute('placeholder', 'Search ...');
input.setAttribute('type', 'text');
form.appendChild(input);
var element = document.createElement('div');
element.className = 'search-layer ol-unselectable ol-control';
element.appendChild(button);
element.appendChild(form);
ol.control.Control.call(this, {
element: element,
target: options.target
});
select = new ol.interaction.Select({
id: options.selectId || 'defaultSearchLayer',
layers: [options.layer],
condition: ol.events.condition.never
});
var map = options.map;
map.addInteraction(select);
var typesToZoomToExtent = [
'MultiPoint',
'LineString',
'MultiLineString',
'MultiPolygon',
'Polygon'
];
var typesToZoomToCenterAndZoom = [
'Point'
];
var returnHorsey = function(input, source, map, select, options) {
horsey(input, {
source: [{
list: source.getFeatures().map(function(el, i) {
if (el.getId() === undefined) {
el.setId(i);
}
return {
text: el.get(options.colName),
value: el.getId() // If GeoJSON has an id
};
})
}],
getText: 'text',
getValue: 'value',
predictNextSearch: function(info) {
var feat = source.getFeatureById(info.selection.value);
var featType = feat.getGeometry().getType();
if (typesToZoomToCenterAndZoom.indexOf(featType) !== -1) {
var newCenter = ol.extent.getCenter(feat.getGeometry().getExtent());
map.getView().setCenter(newCenter);
map.getView().setZoom(options.zoom || 12);
} else if (typesToZoomToExtent.indexOf(featType) !== -1) {
map.getView().fit(feat.getGeometry().getExtent(), map.getSize());
}
select.getFeatures().clear();
select.getFeatures().push(feat);
}
});
}
if (source.getState() === 'ready') {
horseyComponent = returnHorsey(input, source, map, select, options);
}
source.once('change', function(e) {
if (source.getState() === 'ready') {
horseyComponent = returnHorsey(input, source, map, select, options);
}
});
}
ol.inherits(SearchLayer, ol.control.Control);
module.exports = SearchLayer;
},{"./utils":2}],2:[function(require,module,exports){
'use strict';
function hasClass(el, cls) {
return el.className && new RegExp('(\\s|^)' +
cls + '(\\s|$)').test(el.className);
}
function addClass(elem, className) {
if (!hasClass(elem, className)) {
elem.className += ' ' + className;
}
}
function removeClass(elem, className) {
var newClass = ' ' + elem.className.replace(/[\t\r\n]/g, ' ') + ' ';
if (hasClass(elem, className)) {
while (newClass.indexOf(' ' + className + ' ') >= 0) {
newClass = newClass.replace(' ' + className + ' ', ' ');
}
elem.className = newClass.replace(/^\s+|\s+$/g, '');
}
}
module.exports = {
addClass: addClass,
hasClass: hasClass,
removeClass: removeClass
};
},{}]},{},[1])(1)
});
(函数(f){if(typeof exports==“object”&&typeof module!==“undefined”){module.exports=f()}else if(typeof define==“function”&&define.amd){define([],f)}else{var g;if(typeof window!==“undefined”){g=window}else如果(typeof global!==“undefined”){g=global}else如果(typeof self!==“undefined”){g=global”){g}else(typeof self!=“undefined”){g=“undefined”){global”)else如果(typeof self!{g=self defin})(function(){var define,module,exports;return(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==“function”&&require;if(!u&&a)返回a(o,!0);if(i)返回i(o,!0);var f=new Error(“找不到模块”+o+“”””);throw f.code=“module u未找到”,f}var l=n[o]{exports:};call(o=o,][0)[e][1];返回s(n?n:e)},l,l.exports,e,t,n,r)}返回n[o]。exports}var i=typeof require==“函数”&&require;for(var o=0;o=0){
newClass=newClass.replace(''+className+'');
}
elem.className=newClass.replace(/^\s+|\s+$/g');
}
}
module.exports={
addClass:addClass,
hasClass:hasClass,
removeClass:removeClass
};
},{}]},{},[1])(1)
});
这意味着horseyComponent
未定义,因此在代码末尾为其赋值之前会调用它?如果可能,请减少链接的代码量,以免包含任何无关内容。这意味着horseyComponent
未定义,因此,在您将代码末尾的值指定给它之前,它会被调用?如果可能,请减少您链接的代码量,以免包含任何无关的内容。