new mars3d.layer.GeoJsonLayer({的pupup配置参考

new mars3d.layer.GeoJsonLayer({的pupup配置可选项以及相关效果参考:

说明:popup按属性字段配置,可以是字符串模板或数组

1.popup仅配置{type}{name}等属性的的时候,指显示json文件内数据的type与name,效果如下

相关代码:

  const graphicLayer = new mars3d.layer.GeoJsonLayer({
    name: "标绘示例数据",
    url: "//data.mars3d.cn/file/geojson/mars3d-draw.json",
    popup: "{type} {name}",
    queryParameters: {
      token: "mars3d" // 可以传自定义url参数,如token等
    },
    symbol: {
      merge: true,
      styleOptions: {
        // 高亮时的样式
        highlight: {
          type: "click",
          opacity: 0.9
        }
      }
    },
    flyTo: isFlyTo
  })
  map.addLayer(graphicLayer)

2.popup配置 'all'的时候,可以显示json文件的所有属性,常用于测试知道数据有哪些属性

相关代码:

  const graphicLayer = new mars3d.layer.GeoJsonLayer({
    name: "标绘示例数据",
    url: "//data.mars3d.cn/file/geojson/mars3d-draw.json",
    popup: "all",
    queryParameters: {
      token: "mars3d" // 可以传自定义url参数,如token等
    },
    symbol: {
      merge: true,
      styleOptions: {
        // 高亮时的样式
        highlight: {
          type: "click",
          opacity: 0.9
        }
      }
    },
    flyTo: isFlyTo
  })
  map.addLayer(graphicLayer)

3.popup配置数组的时候,效果如下:

相关代码:

  const graphicLayer = new mars3d.layer.GeoJsonLayer({
    name: "标绘示例数据",
    url: "//data.mars3d.cn/file/geojson/mars3d-draw.json",
    popup: [
      { field: "id", name: "编码" },
      { field: "name", name: "名称" },
      { field: "type", name: "类型" },
      {
        type: "html",
        html: "<label>视频</label><video src='http://data.mars3d.cn/file/video/lukou.mp4' controls autoplay style=\"width: 300px;\" ></video>"
      }
    ],
    queryParameters: {
      token: "mars3d" // 可以传自定义url参数,如token等
    },
    symbol: {
      merge: true,
      styleOptions: {
        // 高亮时的样式
        highlight: {
          type: "click",
          opacity: 0.9
        }
      }
    },
    flyTo: isFlyTo
  })
  map.addLayer(graphicLayer)

4.popup不展示不需要的属性的时候,可以使用bindPopup实现。

相关代码:



graphicLayer.bindPopup(function (event) {
const attr = { ...event.graphic.attr }
// 删除不展示的属性
delete attr.layer_name

// 增加自定义属性
attr["类型"] = event.graphic.type
attr["来源"] = "我是layer上绑定的Popup"
attr["备注"] = "我支持鼠标交互"

return mars3d.Util.getTemplateHtml({ title: "矢量图层", template: "all", attr: attr })

})

5. popup上加单击按钮操作的时候,可以bindPopup

  geoJsonLayer = new mars3d.layer.GeoJsonLayer({
    name: "标绘示例数据",
    url: "//data.mars3d.cn/file/geojson/mars3d-draw.json"
  })
  map.addLayer(geoJsonLayer)

  // 在layer上绑定Popup单击弹窗
  geoJsonLayer.bindPopup(
    function (event) {
      const attr = event.graphic.attr
      return "我是layer上绑定的自定义模版Popup<br />" + attr.type
    },
    {
      template: `<div class="marsBlackPanel animation-spaceInDown">
                        <div class="marsBlackPanel-text">{content}</div>
                        <span class="mars3d-popup-close-button closeButton" >×</span>
                      </div>`,
      horizontalOrigin: Cesium.HorizontalOrigin.LEFT,
      verticalOrigin: Cesium.VerticalOrigin.CENTER
    }
  )

 

相关推荐

  1. Popup

    2024-03-21 22:12:03       18 阅读
  2. uni-app + vant 实现可搜索popup

    2024-03-21 22:12:03       10 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-21 22:12:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-21 22:12:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-21 22:12:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-21 22:12:03       20 阅读

热门阅读

  1. 每日一题 第二十期 洛谷 烤鸡

    2024-03-21 22:12:03       23 阅读
  2. 如何让自己的前端知识更全面

    2024-03-21 22:12:03       18 阅读
  3. DAY6 作业 串口控制三盏灯亮灭

    2024-03-21 22:12:03       17 阅读
  4. 多数据源 - dynamic-datasource | 进阶 - 数据库加密

    2024-03-21 22:12:03       22 阅读
  5. shader学习记录——几何着色器

    2024-03-21 22:12:03       20 阅读
  6. c++简介

    2024-03-21 22:12:03       21 阅读