kmlファイルからインポートされたベクターレイヤーを表示するページがあります(基本的に日時計の例のように)。固定戦略のみを使用する場合と、固定戦略とCLUSTER戦略の両方を同時に使用する場合の両方で、完全に機能します。
ハイブリッドディスプレイを作成したいのですが、たとえば、 「1つの機能のクラスタ」はKMLファイルに含まれている元のカスタムアイコン<Style><IconStyle><Icon><href>img/arrowRed.png
で表示されます。
現在、クラスター戦略を使用している場合、デフォルトのアイコン(黄色のディスク)を使用して1(機能)のクラスターが表示されます。
標準のOpenLayersではないプラグインやライブラリは使用したくありません。 助言がありますか?
クラスターを使用する元のJavaScriptコードの一部の下(クラスター戦略宣言を削除するnew OpenLayers.Strategy.Cluster()
と、カスタムアイコンが正常に表示されます):
var urlKMLClient = 'KMLClientsAll.kml';
var layerKMLClient = new OpenLayers.Layer.Vector("Clients", {
strategies: [new OpenLayers.Strategy.Fixed(), new OpenLayers.Strategy.Cluster(), refresh],
protocol: new OpenLayers.Protocol.HTTP({
url: urlKMLClient,
format: new OpenLayers.Format.KML({
extractStyles: true,
extractAttributes: true,
maxDepth: 2
})
})
});
以下のクライアントカスタムアイコン(緑色のマーカー)がデフォルトのアイコン(黄色のディスク)をクラスター化する方法を参照してください。