我的要素图层的数据源为超图的数据服务。
现在我的需求是在大比例尺下才显示点图层,并且点要素的图标根据该要素的某属性不同而变化。那代码应该如何实现呢
直接上JS代码
(function () {
//baseUrl 3857底图 url: 专题图层数据服务
var baseUrl = "http://10.154.37.40:8090/iserver/services/map-china400/rest/maps/China",
url = "http://10.154.37.40:8090/iserver/services/data-arcgis-site/rest/data"
var map, featureService, resultLayer;
map = L.map('map', {
preferCanvas: true,
crs: L.CRS.EPSG3857,
center: { lng: 120.202, lat: 29.261 },
maxZoom: 18,
zoom: 7,
zoomControl: false,
attributionControl: false
//缩放监听 当zoom>=10的时候再显示本图层。
map.on('zoomend', function(e) {
if(e.target.getZoom() >= 10) {
map.addLayer(resultLayer);
} else{
map.removeLayer(resultLayer);
// 添加底图、要素
L.supermap.tiledMapLayer(baseUrl).addTo(map);
featureGroup = L.featureGroup().addTo(map);
featureService = L.supermap.featureService(url);
initFeature();
function initFeature() {
var polygon = L.polygon([[10, 60], [60, 60], [60, 160], [10, 160], [10, 60]]);
var getFeatureParams = new SuperMap.GetFeaturesByGeometryParameters({
fromIndex: -1,
toIndex: 30,
datasetNames: ["ArcGISFeatureServer:zjpdm_sde_site"],
geometry: polygon
featureService.getFeaturesByGeometry(getFeatureParams, function (serviceResult) {
//根据传入的属性不同返回不同的图标
function myIcon(params) {
if (params == 0) {
return L.icon({
iconUrl: "0.png",
iconSize: [22, 22],
} else if (params == 1) {
return L.icon({
iconUrl: "1.png",
iconSize: [22, 22],
} else if (params == 2) {
return L.icon({
iconUrl: "2.png",
iconSize: [22, 22],
} else if (params == 3) {
return L.icon({
iconUrl: "3.png",
iconSize: [22, 22],
} else if (params == 4) {
return L.icon({
iconUrl: "4.png",
iconSize: [22, 22],
} else {
resultLayer = L.geoJSON(serviceResult.result.features, {
pointToLayer: function (geoJsonPoint, latlng) {
return L.marker(latlng, { icon: myIcon(geoJsonPoint.properties.sitetype) });
//设置气泡的显示内容
resultLayer.on("mousemove", function (e) {
e.layer.bindPopup("名称" + ":" + e.layer.feature.properties.sitename +
"</br>线:" + e.layer.feature.properties.linename +
"</br>类别:" + e.layer.feature.properties.sitetype).openPopup();
resultLayer.on("mouseout", function (e) {
e.layer.closePopup();
})();
运行结果:
小比例尺下(只有底图):

大比例尺下(专题图层显示出来)

我的要素图层的数据源为超图的数据服务。现在我的需求是在大比例尺下才显示点图层,并且点要素的图标根据该要素的某属性不同而变化。那代码应该如何实现呢直接上JS代码(function () { //baseUrl 3857底图 url: 专题图层数据服务 var baseUrl = "http://10.154.37.40:8090/iserver/servi...
平面地图的测绘功能,可在测绘图片上设置比例尺,测距,计算面积,规划区域等,依次最终测绘结果下载为png图片(原图)。
(v0.7.7) (v0.4.9) (v3.1.1)
基于实现焦点图像区域编辑功能,能够在图片上放置,编辑,删除图形区域以及文字说明。
Github
设置比例尺
1.点击比例尺时激活地图点击事件
function createScale ( e ) {
e . stopPropagation ( ) ;
let sLen = scale_geometry . length ;
if ( sLen > 0 ) {
for ( let i = 0 ; i < sLen ; i ++ ) {
map . removeLayer ( scale_geometry [ i ] ) ;
Leaflet快速入门与加载OSM显示地图:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/122290880
上面加载显示后默认会带Attrbution控件。
一、按比例尺进行显示或隐藏
GeoServer在发布图层的时候,没有直接的选项进行设置在哪个比例尺内可见。但可以通过样式文件进行配置。在样式文件sld(Styled Layer Descriptor)中通过相下面的节点进行配置:
sld:Mi
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" type="image/.
queryData(){//调用接口查询城市数据
let params={time:this.selectedTime,type:this.timeType};
Promise.all([getAllCityAirMoniListOnChina(params), getAllSiteAirMoniListOnChina(params)]).then(res => {
if (res[0].success&& res[1].succe
### 回答1:
SuperMap iClient for Leaflet是一款基于Leaflet框架的地图开发工具,可以帮助开发者快速构建WebGIS应用程序。它提供了丰富的地图功能和数据处理能力,支持多种数据格式和服务类型,可以轻松实现地图展示、数据查询、空间分析等功能。同时,它还具有良好的跨平台性和扩展性,可以在PC端、移动端和Web端等多种平台上使用。
### 回答2:
SuperMap iClient for Leaflet是一种基于JavaScript代码库的Web GIS开发产品,在Leaflet框架上构建出新一代的互联网GIS应用程序。SuperMap iClient for Leaflet可以在地图展示、查询分析、数据处理和空间计算等方面提供完整的功能支持,并且能够快速开发出高效、稳定和复杂的互联网GIS系统。
在SuperMap iClient for Leaflet中,Leaflet是作为主要的基础库来展示地图和功能的。Leaflet是一个轻量级的Web地图框架,具有高度的可定制性,并支持多种图层、地图的基本交互操作和协同显示。因此,SuperMap iClient for Leaflet可以和其他Web GIS开发库完美地协同工作。
SuperMap iClient for Leaflet的主要功能包括:
1.地图服务:可以快速地加载和显示多种切片和动态地图服务,支持图层控制、标注、信息窗口等操作。
2.查询和统计分析:能够实现多种查询、统计和分析操作,例如点选查询、矩形查询、属性查询、空间查询、缓冲区分析、距离测量、区域统计分析、热力图绘制等。
3.数据可视化和渲染:支持多种数据可视化和渲染技术,例如图表、标签、符号、颜色、透明度等,让数据更加生动和易于理解。
4.地理编码和路径分析:支持多种地理编码和路径分析算法,例如最短路、最优路径、网络分析、行驶路线规划等,可以应对多种实际应用场景。
5.数据处理和导出:提供多种数据处理和导出操作,例如数据格式转换、剪裁、裁剪、融合、导入、导出等,使得GIS数据的管理更加高效和灵活。
总之,SuperMap iClient for Leaflet是Web GIS开发的一种高效、灵活、全面的解决方案,可以让用户快速构建出令人称道的Web GIS系统,满足多样化的GIS需求。
### 回答3:
SuperMap iClient for Leaflet是基于Leaflet框架封装开发的一个功能强大、易用性高、可定制性强的WebGIS开发框架。SuperMap iClient for Leaflet为开发者提供了丰富的地图可视化和分析功能,轻松支持各类GIS业务系统的快速构建和发布,拥有完善的API,可方便地与其他WebGIS技术或框架相结合。
SuperMap iClient for Leaflet可以实现多种数据源的地图服务,包括矢量数据、切片数据、动态数据和三维数据等。同时,SuperMap iClient for Leaflet还支持丰富的地图功能,包括地图缩放、平移、旋转、地图标注、查询、空间分析、路径规划等。
SuperMap iClient for Leaflet还支持地图的分层和可交互性。这些都有助于开发者在WebGIS领域获得更多的自由度和灵活度。在云计算、大数据、物联网技术的带动下,SuperMap iClient for Leaflet已经成为WebGIS技术中不可或缺的一部分。
总之,SuperMap iClient for Leaflet是一款完美的WebGIS开发框架,具有易用性、高可定制性和丰富的功能,可以帮助开发者更快速、更高效地构建出具有广泛应用价值的GIS业务系统,满足社会生产和生活中对于空间分析、智能数据分析等多个领域的需求。
jiuyublue:
vue使用插槽slot的过程中,父级组件设置了display:flex,但是插入组件的flex:1属性不生效
LittleHairHeihei: