/* * url 目标url * arg 需要替换的参数名称 * arg_val 替换后的参数的值 * return url 参数替换后的url */ export function changeURLArg (url, arg, argValue) { var pattern = arg + '=([^&]*)' var replaceText = arg + '=' + argValue if (url.match(pattern)) { var tmp = '/(' + arg + '=)([^&]*)/gi' // eslint-disable-next-line no-eval tmp = url.replace(eval(tmp), replaceText) return tmp } else { if (url.match('[\\?]')) { return url + '&' + replaceText } else { return url + '?' + replaceText } } // eslint-disable-next-line no-unreachable return url + '\n' + arg + '\n' + argValue } /** * 复制对象 * @param obj * @returns {{}} */ export function clone (obj) { var o // 如果 他是对象object的话 , 因为null,object,array 也是'object'; if (typeof obj === 'object') { // 如果 他是空的话 if (obj === null) { o = null } else { // 如果 他是数组arr的话 if (obj instanceof Array) { o = [] for (var i = 0, len = obj.length; i < len; i++) { o.push(clone(obj[i])) } } else { // 如果 他是对象object的话 o = {} for (var j in obj) { o[j] = clone(obj[j]) } } } } else { o = obj } return o } /** * * 设置index,线在最下面,点在上面 * @param layerGroup 图层组 */ export function setZIndex (layer) { if (Array.isArray(layer)) { for (var i = 0; i < layer.length; i++) { setZIndex(layer[i]) } } else { if (layer.getLayers) { setZIndex(layer.getLayers()) } else { if (layer.feature && (layer.feature.geometry.type === 'LineString' || layer.feature.geometry.type === 'MultiLineString')) { layer.bringToBack && layer.bringToBack() } else { layer.bringToFront && layer.bringToFront() } } } } export default clone