开源 企业版 高校版 私有云 模力方舟 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
MapLayer.js 5.86 KB
一键复制 编辑 原始数据 按行查看 历史
import { newGuid } from '../../service/common/Util';
import { L } from '../core/Base.js';
/**
* @class L.mapgis.MapLayer
* @classdesc 新版igserver地图服务加载类
* @extends L.TileLayer
* @example
//地图容器
var map = L.map('leaf_map', {
//添加缩放控件
zoomControl: true,
//投影坐标系
crs: L.CRS.EPSG4326,
//中心点[y,x]
center: [(30.86431739220 + 30.3383275329) / 2, (114.57307983700002 + 113.97889584400014)/ 2],//武汉建筑
//最大级数
maxZoom: 10,
//最小级数
minZoom: 7,
//显示级数
zoom: 8
});
//创建地图图层
var mapLayer = new L.mapgis.MapLayer("http://192.168.199.71:8089/igs/rest/services/layertest/武汉建筑/MapServer", {
layers:'show:0',
imageFormat: 'jpg',
filters:{"0":{"where":"Floor>10"}},
styles: {"0":{"displayRegionBorder":true}},
imageTransparent:false,
//只显示一个图层,不平铺显示
noWrap: true
}).addTo(map);
*/
var MapLayer = L.TileLayer.extend({
options: {
imageFormat: null,
imageHeight: 512,
imageWidth: 512,
guid: null,
imageTransparent: null,
filters: null,
styles: null,
layers: null,
crs: null,
isAntialiasing: null
},
/**
*
* @param url - {String} 必选,地图服务的基地址。例如"http://192.168.199.71:8089/igs/rest/services/layertest/武汉建筑/MapServer".
* @param options - {Object} 属性键值对,地图属性字段。
* @param {String} [options.imageFormat = 'png'] 可选,图片的格式,支持png|jpg|gif。
* @param {Object} [options.filters = null] 可选,图层的过滤信息。例如,{"0":{"where":"Floor>10"}}。
* @param {Object} [options.styles = null] 可选,图层的样式。例如,{"0":{"displayRegionBorder":true}}。
* @param {String} [options.layers = null] 可选,指定需要被取图的图层序列号。格式:show/hide/include/exclude: layerid1,layerid2。
1 show:仅仅显示指定了图层序号的图层
2 hide :显示除hide参数指定图层外所有的图层
3 include:除显示默认图层(地图文档内图层状态为可见的图层)外,另追加这些被指定的图 层显示,追加的这些图层必须为地图中包含的图层。
4 exclude: 从默认图层列表里删除这些被指定的图层后,进行显示
* @param {String} [options.crs = null] 可选,投影空间参照系,支持mapgis参照系名称和epsg编号。
* @param {Number} [options.imageHeight = 512] 可选,图片的高度。
* @param {Number} [options.imageWidth = 512] 可选,图片的宽度。
* @param {Boolean} [options.isAntialiasing = false] 可选,返回的图片是否抗锯齿。
* @param {Boolean} [options.imageTransparent = true] 可选,返回的图片是否透明。
* @param {String} [options.guid = newGuid()] 可选。唯一ID,用户标识地图文档。
*
*/
initialize: function (url, options) {
this.url = encodeURI(url + '/image');
var imageHeight = options.imageHeight || 512;
var imageWidth = options.imageWidth || 512;
options.tileSize = window.L.point(imageWidth, imageHeight);
// console.log('maplayer_initialize', options);
L.TileLayer.prototype.initialize.apply(this, arguments);
L.setOptions(this, options);
L.stamp(this);
},
onAdd: function (map) {
this._crs = map.options.crs;
this._initLayerUrl();
L.TileLayer.prototype.onAdd.call(this, map);
},
getTileUrl: function (coords) {
var tileBounds = this._tileCoordsToBounds(coords);
var nw = this._crs.project(tileBounds.getNorthWest());
var se = this._crs.project(tileBounds.getSouthEast());
var params = '&bbox=' + nw.x + ',' + se.y + ',' + se.x + ',' + nw.y;
return this._layerUrl + encodeURI(params);
},
_initLayerUrl: function () {
var vm = this;
var layerUrl = vm.url + '?';
layerUrl += encodeURI(vm._initAllRequestParams().join('&'));
this._layerUrl = layerUrl;
// console.log('maplayer__initLayerUrl', layerUrl);
},
_initAllRequestParams: function () {
var vm = this,
options = vm.options || {},
params = [];
// console.log('maplayer_initAllRequestParams', options);
var imageHeight = options.imageHeight || 512;
var imageWidth = options.imageWidth || 512;
params.push('size=' + imageWidth + ',' + imageHeight);
var guid = options.guid || newGuid();
params.push('clientId=' + guid);
if (options.imageFormat) {
params.push('format=' + options.imageFormat);
}
if (options.layers) {
params.push('layers=' + options.layers);
}
if (options.filters) {
params.push('layerFilters=' + JSON.stringify(options.filters));
}
if (options.styles) {
params.push('layerStyles=' + JSON.stringify(options.styles));
}
if (options.imageTransparent !== undefined && options.imageTransparent !== null) {
params.push('transparent=' + options.imageTransparent);
}
if (options.crs) {
params.push('projectionSrs=' + options.crs);
}
if (options.isAntialiasing !== undefined && options.isAntialiasing !== null) {
params.push('isAntialiasing=' + options.isAntialiasing);
}
params.push('f=image');
return params;
}
});
export { MapLayer };
L.mapgis.MapLayer = MapLayer;
export { L };
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 によって変換されたページ (->オリジナル) /