jgeojson图层的使用:
常规的geojson图层加载-有对应的url即可;
复制代码
1
2
3
4
5
6
7
8
9
10
11
12const geoJsonLayer= new mars3d.layer.GeoJsonLayer({ id: "可以根据此id在其他地方获取该图层", url: "对应geojson的url", symbol: { type: "polyline", // geojson内加载的矢量数据类型 styleOptions: { color: "rgba(255,255,255,0.3)", width: 2 }, popup: "{name}" }) map.addLayer(geoJsonLayer)
但是有些时候在geojson内部的数据并没有处理好,想自定义矢量数据的样式;则需要用到“onCreateGraphic” 字段;
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32const geoJsonLayer= new mars3d.layer.GeoJsonLayer({ url: "对应geojson的url", onCreateGraphic: function (options) { // 在里面就可以处理geojson内部的数据 const points = options.positions[0] // 坐标 const attr = options.attr // 属性信息 // 比如说处理墙的数据; // 该方法的作用是求路线的贴地线坐标; mars3d.PolyUtil.computeSurfaceLine({ map: map, positions: points, has3dtiles: false, splitNum: 300, callback: (raisedPositions, noHeight) => { console.log("边界墙插值计算完成坐标", raisedPositions) const primitive = new mars3d.graphic.WallPrimitive({ positions: raisedPositions, style: { addHeight: -15000, diffHeight: 15000, // 墙高 materialType: mars3d.MaterialType.Image2, image: "./img/textures/grawall.png", color: "rgba(0,255,255,0.6)" }, attr: attr }) geoJsonLayer.addGraphic(primitive) } }) } }) map.addLayer(geoJsonLayer)
最后
以上就是义气帆布鞋最近收集整理的关于记录mars3d的使用 - geojson图层的全部内容,更多相关记录mars3d的使用内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复