开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 0 Fork 50

wolfbruce/MapGIS-WebClient-JavaScript

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (40)
标签 (9)
master
10.6.0.10
dev
10.6.0
yangkun
webclient_plot
10.5.6
yangkun_tiedi
yangkun_plot
10.5.5
master_fixbug
lzt_dev
dependabot/npm_and_yarn/website/follow-redirects-1.14.8
dependabot/npm_and_yarn/website/node-sass-7.0.0
dependabot/npm_and_yarn/website/postcss-7.0.39
cesium_1_84
ljy
yangkun_12_9
yangkun_12_3
mapvToMaster
10.6.0.10
10.5.6.10
10.5.5.14
10.5.5.13
onemap_10.5.4.10
v10.5.5.10
ceping
v10.5.4.10
10.5.3.10
master
分支 (40)
标签 (9)
master
10.6.0.10
dev
10.6.0
yangkun
webclient_plot
10.5.6
yangkun_tiedi
yangkun_plot
10.5.5
master_fixbug
lzt_dev
dependabot/npm_and_yarn/website/follow-redirects-1.14.8
dependabot/npm_and_yarn/website/node-sass-7.0.0
dependabot/npm_and_yarn/website/postcss-7.0.39
cesium_1_84
ljy
yangkun_12_9
yangkun_12_3
mapvToMaster
10.6.0.10
10.5.6.10
10.5.5.14
10.5.5.13
onemap_10.5.4.10
v10.5.5.10
ceping
v10.5.4.10
10.5.3.10
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (40)
标签 (9)
master
10.6.0.10
dev
10.6.0
yangkun
webclient_plot
10.5.6
yangkun_tiedi
yangkun_plot
10.5.5
master_fixbug
lzt_dev
dependabot/npm_and_yarn/website/follow-redirects-1.14.8
dependabot/npm_and_yarn/website/node-sass-7.0.0
dependabot/npm_and_yarn/website/postcss-7.0.39
cesium_1_84
ljy
yangkun_12_9
yangkun_12_3
mapvToMaster
10.6.0.10
10.5.6.10
10.5.5.14
10.5.5.13
onemap_10.5.4.10
v10.5.5.10
ceping
v10.5.4.10
10.5.3.10
mapWmsLayer.js 7.41 KB
一键复制 编辑 原始数据 按行查看 历史
import {Zondy} from './mapboxBase';
//import {Zondy} from '../../service/common/Base';
import { newGuid, extend } from '../util/Util';
/**
* @author 基础平台/产品2部 龚跃健
* @class mapboxgl.Zondy.Map.MapWmsLayer
* @classdesc WMS地图加载类。可使用接口Zondy.OGC.OGCWMSInfo获取Capabilities信息
* @param option - {Object} 属性键值对,地图属性字段。
* @param {String} [option.domain = ''] 【domain和(networkProtocol,ip,port)二选一】。域名
* @param {String} [option.networkProtocol = location.protocol.split(":")[0] || "http"] 【domain和(networkProtocol,ip,port)二选一】。网络协议
* @param {String} [option.ip = localhost] 【domain和(networkProtocol,ip,port)二选一】。地图服务ip
* @param {String} [option.port = 6163] 【domain和(networkProtocol,ip,port)二选一】。地图服务端口
*
* @param {String} [option.serverType ] 必选。服务类型,doc/layer
* @param {String} [option.serverName ] 必选。服务名
* @param {String} [option.layers = null] 必选。要显示的图层名集合
* @param {String} [option.format = image/png ] 可选。图块输出格式。image/gif,image/png,image/jpeg
* @param {String} [option.version = 1.0.0] 可选。WMS版本,1.1.1(默认)或1.3.0
* @param {String} [option.srs ='EPSG:4326'] 可选。空间坐标参考系,只在版本1.1.1中有效,如EPSG:4326
* @param {String} [option.crs ='EPSG:4326'] 可选。空间坐标参考系,只在版本1.3.0中有效,如crs:80
* @param {String} [option.width = '256'] 可选。输出地图图片的象素宽,像素值,如256
* @param {String} [option.height = '256'] 可选。输出地图图片的象素高,像素值,如256
* @param {String} [option.tileSize = 512] 可选。瓦片大小
* @param {String} [option.layerID] 可选。
* @param {String} [option.sourceID] 可选。
* @example
//地图容器
var map = new mapboxgl.Map({
container: 'map', // 容器id
crs: 'EPSG:4326',//mapboxgl原生只支持3857
center: [101.74721254733845, 32.5665352689922],
zoom: 3
});
//wms图层
new mapboxgl.Zondy.Map.MapWmsLayer({
//IGServer所在ip地址
ip: "localhost",
//IGServer请求端口号
port: "6163",
serverType:'layer',
serverName:'wms',
//wmts服务名称
layers: ["省级行政区x","中国地级县x"],
//设置地图不连续显示
noWrap: true,
}).addToMap(map);
*/
var MapWmsLayer = function (option) {
var option = option ? option : {};
var domain = option && option.domain ? option.domain : '';
if (domain === '') {
this.networkProtocol = option.networkProtocol !== undefined ? option.networkProtocol : location.protocol.split(":")[0] || "http";
var ip = option && option.ip ? option.ip : 'localhost';
var port = option && option.port ? option.port : '6163';
this.url = this._url = encodeURI(this.networkProtocol + '://' + ip + ':' + port + '/igs/rest/ogc/' + option.serverType + '/' + option.serverName + '/WMSServer');
} else {
this.url = this._url = encodeURI(domain + '/igs/rest/ogc/' + option.serverType + '/' + option.serverName + '/WMSServer');
}
this.options = {
layers: null,
styles: null,
//图像类型:jpg,png,gif
format: 'image/png',
service: 'WMS',
version: '1.1.1',
request: 'GetMap',
width: '256',
height: '256',
srs: 'EPSG:4326',
crs: 'EPSG:4326',
guid: null,
//keepCache设置为true时,会首先从客户端缓存中取瓦片,否则不从客户端缓存中提取
keepCache: true,
attribution: "Zondy WMS Data"
};
this.layerID = option.layerID ? option.layerID : null;
this.sourceID = option.sourceID ? option.sourceID : null;
this.map = null;
extend(this.options, option);
};
/***
* @description 将地图加载到地图容器中
* @function mapboxgl.Zondy.Map.MapWmsLayer.prototype.addToMap
* @param map 地图对象
* @returns {mapboxgl.Zondy.Map.MapWmsLayer}
*/
MapWmsLayer.prototype.addToMap = function (map) {
this.map = map;
this._initLayerUrl();
var sourceID = this.sourceID || "source_" + newGuid();
var layerID = this.layerID || "layer_" + newGuid();
this.wms_source = {
'type': 'raster',//数据源类型,因为wms返回图片数据,因此为该类型
'tiles': [this._layerUrl],
'tileSize': this.options.tileSize || 512 //图片显示的大小,最好和上面大小保持一致
};
this.mLayer = {
'id': layerID,//图层ID
'type': 'raster',//图层类型
'source': sourceID
};
if (this.map.getStyle()) {
if (this.map.getSource(sourceID) === undefined) {
this.map.addSource(sourceID, this.wms_source);
this.sourceID = sourceID;
}
if (this.map.getLayer(layerID) === undefined) {
this.map.addLayer(this.mLayer);
this.layerID = layerID;
}
return this;
} else {
this.map.setStyle({
"version": 8,
"sources": {},
"layers": []
});
var me = this;
me.map.on('load', function () {
me.map.addSource(sourceID, me.wms_source);
me.sourceID = sourceID;
me.map.addLayer(me.mLayer);
me.layerID = layerID;
return me;
});
}
};
MapWmsLayer.prototype._initLayerUrl = function () {
var me = this;
var layerUrl = me.url + "?";
layerUrl += encodeURI(me._initAllRequestParams().join('&'));
layerUrl += '&bbox={bbox}';
this._layerUrl = layerUrl;
};
MapWmsLayer.prototype._initAllRequestParams = function () {
var me = this,
options = me.options || {},
params = [];
if (options.version) {
params.push("version=" + options.version);
}
if (options.request) {
params.push("request=" + options.request);
}
if (options.version === '1.1.1') {
params.push("srs=" + options.srs);
} else if (options.version === '1.3.0') {
params.push("crs=" + options.crs);
}
if (options.service) {
params.push("service=" + options.service);
}
if (options.layers) {
params.push("layers=" + options.layers);
}
if (options.filters) {
params.push("filters=" + options.filters);
}
if (options.styles) {
params.push("styles=" + JSON.stringify(options.styles));
} else {
params.push("styles=");
}
if (options.format) {
params.push("format=" + options.format);
} else {
params.push("format=image/png");
}
params.push("width=" + options.width);
params.push("height=" + options.height);
if (options.guid) {
params.push("guid=" + options.guid);
}
if (!options.keepCache) {
params.push("temp=" + Math.random());
}
return params;
};
/**
* @description 刷新地图
* @function mapboxgl.Zondy.Map.MapWmsLayer.prototype.refreshMap
* @param guid
*/
MapWmsLayer.prototype.refreshMap = function (guid) {
if (guid) {
this.options.guid = guid;
}
this._initLayerUrl();
this.map.removeLayer(this.layerID);
this.map.removeSource(this.sourceID);
this.wms_source['tiles'] = [this._layerUrl];
this.map.addSource(this.sourceID, this.wms_source);
this.map.addLayer(this.mLayer);
};
export {MapWmsLayer};
Zondy.Map.MapWmsLayer = MapWmsLayer;
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

MapGIS Client for JavaScript:为云GIS网络客户端开发平台,将传统WebGIS与云GIS完美融合, 集成Cesium、MapboXGL,、Leaflet、OpenLayers四大主流地图开源框架和Echarts、MapV、D3等可视化库,进一步增强了大数据、实时流数据的高效可视化表达和分析功能。
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/wolfbruce/WebClient-JavaScript.git
git@gitee.com:wolfbruce/WebClient-JavaScript.git
wolfbruce
WebClient-JavaScript
MapGIS-WebClient-JavaScript
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /