2012-05-01 7 views
4

OpenLayers의 레이어에 여러 이미지를 넣을 수 있습니까?OpenLayers의 레이어 당 여러 이미지

모든 사진을 표시하거나 숨기지 않고 전체적으로 각 범주를 표시하고 숨길 수 있도록 이상적으로 사진을 범주 (각 계층은 하나의 범주)로 그룹화하고 싶습니다.

이것이 가능합니까? OpenLayers의 이미지 레이어 (하나의 이미지 만 지원하는 것으로 보임) 또는 Vector 레이어를 StyleMap (하나의 외부 이미지 만 허용하는 것으로 보임)을 사용하여 여러 가지 예제를 발견했습니다.

뭔가를 간과했거나 더 많은 노력이 필요합니까 (예 : 맞춤 레이어 유형 생성).

미리 감사드립니다. 같은 레이어에 여러 이미지를 넣어

답변

1

, 당신은 "$ {아이콘}"기능의 속성이

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

같은 스타일 맵을 만들 수 있습니다. 다음 예에서

, 나는이 개 이미지 "스타"와 "홈"

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]); 
를 사용
관련 문제