2012-05-01 7 views
4

OpenLayersのレイヤーに複数の画像を置くことは可能ですか?OpenLayersのレイヤーごとに複数の画像

理想的には私はカテゴリにグループ私の写真をしたいと思います(それぞれの層が一つのカテゴリである)ので、私が代わりに一つ一つの絵を表示/非表示の全体として各カテゴリを表示し、非表示にすることができます。

これは可能ですか? OpenLayersの画像レイヤー(1つの画像のみをサポートするように見える)またはStyleMap(これは1つの外部画像のみを許可するように見える)を使用したベクターレイヤーを使用していくつかの例を見つけました。

は、私が何かを見落としたり、それは(すなわち。カスタム層タイプを作成する)多くの努力を取ることがありますか?

ありがとうございます!同じ層に複数の画像を配置する

答えて

1

、あなたは「$ {アイコン}」機能の属性であるこの

var style = new OpenLayers.StyleMap({ 
    default :new OpenLayers.Style({ 
      'pointRadius': 10, 
      'externalGraphic': '/images/${icon}.png' 
    }) 
}) 

ようstyleMapを作成することができます。次の例では

、私は2枚の画像 "スター" と "家庭" を使用

var path = new OpenLayers.Layer.Vector("images"); 
//set the styleMap 
path.styleMap = style; 
map.addLayers([path]); 

//create a new feature 
var pointHome = new OpenLayers.Geometry.Point(-57.533832,-25.33963); 
var featureHome = new OpenLayers.Feature.Vector(pointHome); 
//set the icon of the feature 
featureHome.attributes["icon"] ="home"; 

var pointStar = new OpenLayers.Geometry.Point(-57.533371,-25.338946); 
var featureStar = new OpenLayers.Feature.Vector(pointStar); 
//set the icon of the feature 
featureStar.attributes["icon"] ="star"; 

path.addFeatures([featureHome, featureStar]); 
関連する問題