필자는 기능 ID를 가지고 있기 때문에 GeoRSS로드 엔드에서 마커 레이어를 잡을 수는 있지만 프로그래밍 방식으로 팝업을 표시하는 방법을 아직 모르겠습니다.OSM (OpenLayers)에서 기능에 대한 팝업을 트리거하는 적절한 방법은 무엇입니까?
필요에 따라 팝업을 만들 겠지만지도에 그려진 마커의 ID를 가져와 해당 이벤트를 호출 할 수 있어야합니다. jQuery를 사용하여 시도하고지도 요소에 $(marker-id).click()
이벤트를 호출하지만, 작동하지 않는 것 같습니다. 내가 뭘 놓치고 있니? 지금까지 나는 곳
은 여기 :
map = new OpenLayers.Map('myMap');
map.addLayer(new OpenLayers.Layer.OSM());
map.addLayer(new OpenLayers.Layer.GeoRSS(name,url));
//I've done some stuff as well in re: projections and centering and
//setting extents, but those really don't pertain to this question.
다른 곳
내가 나에게 좋은 목록의 jQuery 템플릿의 비트를 수행하고 구축했습니다 지도에 표시되는 모든 점을 표시합니다. 나는 레이어 loadend
에서 콜백을 수행하고 레이어 객체를 얻는 방법을 알고, 수동으로 맵에서 레이어를 검색하는 방법을 알고, 레이어 컬렉션을 반복하고 레이어를 찾는 방법을 알고있다. 그래서 팝업에 대한 세부 정보를 얻을 수는 있지만 DOM 또는이 API의 기본 제공 메서드를 사용하여 element.click()
을 쉽게 만들 수있는 방법을 알지 못합니다. 이는 내가 선호하는 것입니다. 해야 할 것.
당신이 팝업의 층의 자동 개방에 팝업을 추가하면 사용할 때마다 그것을 재 취득 할 필요가 없습니다. 당신의 개발의 작은 소스 코드를 게시 할 수 있습니까? –
@Fran ~ georss 레이어를 추가하고 있으며 Google지도 페이지와 같은 것을 만들 수 있기를 원합니다. 왼쪽의 링크를 클릭하면 오른쪽에 팝업이 표시됩니다. 나는 정말로 내 코드가 지금까지 아무 것도 의미하지 않는다고 생각한다. 그것은 문자 그대로 표시를 위해 왼쪽에있는 것을 구성하고지도에 대해서는 map = new OpenLayers.Map ('myMap'); map.addLayer (새로운 OpenLayers.Layer.OSM()); map.addLayer (new OpenLayers.Layer.GeoRSS (name, url));'내가 작성한 다른 코드는 당면한 질문과 관련이 없습니다. – jcolebrand
문제를 해결하기에 충분합니까? –