首页 > 解决方案 > 用于 GeoJSON 标记的 Cesium 问题定位标签

问题描述

我在铯中显示一些 GeoJSON 作为标记;他们没有高度,所以我使用clampToGround: true. 这一切都有效。

当我尝试标记标记时,标签仅在我缩小时显示。当我放大标签时,标签消失在“地下”,它位于“地形”“层”之下。

如何解决这个问题?我看过这个,但它对我的情况没有帮助。也不是。

编码:

const viewer = new Cesium.Viewer('cesiumContainer', {
  terrainProvider: Cesium.createWorldTerrain(),
  timeline: false, // Hide clock thing
  animation: false, // ditto
});    


// Add Cesium OSM Buildings, a global 3D buildings layer.
const buildingTileset = viewer.scene.primitives.add(Cesium.createOsmBuildings());   

// Fly the camera to the given longitude, latitude, and height.
viewer.camera.flyTo({
  destination : Cesium.Cartesian3.fromDegrees(11.952996, 57.671910, 400), 
  orientation : {
    heading : Cesium.Math.toRadians(0.0),
    pitch : Cesium.Math.toRadians(-15.0),
  }
});

var promise = Cesium.GeoJsonDataSource.load('data/botaniska_play.geojson', {
  clampToGround: true,
  markerColor: Cesium.Color.DARKGREEN,
});

promise.then (function (dataSource) {
  viewer.dataSources.add (dataSource);

  var entities = dataSource["_entityCollection"]["_entities"]["_array"];
  entities.forEach (entity => {
    // Add (and poistion?) label
    entity.label = new Cesium.LabelGraphics ({
      text: entity['_properties']['art']._value,
      //eyeOffset: new Cesium.Cartesian3 (0, 10, 0),
      horizontalOrigin: Cesium.HorizontalOrigin.LEFT,
      verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
      pixelOffset: new Cesium.Cartesian2(0.0, -40.0), // Show above ground?
    });
  });
});

geojson的片段:

{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Point","coordinates":[11.9531552705143,57.6814657645123]},"properties":{"ogc_fid":6,"geom":"{\"type\":\"Point\",\"coordinates\":[11.9531552705143,57.6814657645123]}","plats":"Test Plats","besikt_datum":"2013-06-07","trad_id":"6","art":"Magnolia stellata","status":null,"aldersfas":"Gammalt","hojd":9,"krondiameter":9,"stamdiameter":56,"skador":"Lindriga","vitalitet":"God","anmarkningar":"Vackert","rekommendationer":null,"risk":"Låg","resterande_risk":"-","atgards_datum":null,"atgard_gjort":null,"nasta_besiktning":"2014-06-07","stabiliserings_datum":null}},{"type":"Feature","geometry":{"type":"Point","coordinates":[11.9500765558289,57.6815427053798]},"properties":{"ogc_fid":21,"geom":"{\"type\":\"Point\",\"coordinates\":[11.9500765558289,57.6815427053798]}","plats":null,"besikt_datum":"2017-06-09","trad_id":null,"art":"Acer griseum","status":null,"aldersfas":"Vuxet","hojd":9,"krondiameter":8,"stamdiameter":50,"skador":null,"vitalitet":"God","anmarkningar":"Alléträd högt naturvärde\n","rekommendationer":null,"risk":"Låg","resterande_risk":null,"atgards_datum":null,"atgard_gjort":null,"nasta_besiktning":null,"stabiliserings_datum":null}},{"type":"Feature","geometry":{"type":"Point","coordinates":[11.9514171990732,57.6828566964894]},"properties":{"ogc_fid":3,"geom":"{\"type\":\"Point\",\"coordinates\":[11.9514171990732,57.6828566964894]}","plats":"Test Plats","besikt_datum":"2013-06-07","trad_id":"3","art":"Populus siemonii","status":null,"aldersfas":"Gammalt","hojd":15,"krondiameter":14,"stamdiameter":60,"skador":"Inga","vitalitet":"God","anmarkningar":"Fin","rekommendationer":null,"risk":"Låg","resterande_risk":"-","atgards_datum":null,"atgard_gjort":null,"nasta_besiktning":"2014-06-07","stabiliserings_datum":null}} ...

标签: labelgeojsoncesium

解决方案


尝试添加disableDepthTestDistance: Number.POSITIVE_INFINITY到 LabelGraphics 选项


推荐阅读