/*
|
* 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
|