Googleグループでは、インフォボックスのCSSを変更する方法を示すいくつかの例を見てきました。この特定の例では、Javascriptを文書の先頭にCSSのリンクを追加するために使用されます。セシウム:インボックスのテーマ化
https://groups.google.com/forum/#!topic/cesium-dev/f0iODd42PeI
var cssLink = frameDocument.createElement("link");
cssLink.href = buildModuleUrl('Path/To/Your/CSS/File.css');
cssLink.rel = "stylesheet";
cssLink.type = "text/css";
viewer.infoBox.frame.contentDocument.head.appendChild(cssLink);
これは、しかし、私のマークアップのスタイルに何らかの変化をもたらしていません。
せいぜいgeoJsonデータセットをロードした後に、.then関数の呼び出しでエンティティを反復処理することで、インフォボックスの内容をラップすることができました。内容を折り返すときに、結果のマークアップにすぐに現れるスタイル値を設定できます。
var dataSource = Cesium.GeoJsonDataSource.load('../data/mGeoJson.json').then(function(data) {
viewer.dataSources.add(data);
var entities = data.entities.values;
for (var i = 0; i < entities.length; i++)
var entity = entities[i];
if (entity.properties.hasOwnProperty("description")) {
entity.description = '<div style="height: 360px;">' + entity.properties.description
+ '</div>';
}
}
}
これは便利ですが、私のアプリの要件を完全に満たしていません。
説明プロパティの値を変更するためにエンティティを反復処理することなく、インフォボックスのテーマをオーバーライドするための追加的な洞察を提供できますか?
あなたはそれを殺しています。この方法はより理にかなっており、より信頼できるようです。 –