2012-05-06 1 views
0

[https://github.com/apneadiving/Google-Maps-for-Rails/wiki/Markers]gmap4rails를 사용하여 GMap과 함께 마커 관련 보조 HTML 콘텐츠를 어떻게 렌더링합니까?

GMap 사이드 바 제작 안내를 따랐습니다. 이것은 내가 달성하기를 원하는 것인데 이 아닙니다.

질문 # 1 : 내 GMAP은 (테이블 또는 무엇이든에서 예) 이기종 마커, 나는 GMAP 근처의 보조 HTML 콘텐츠에 을 강조하고자하는의 부분 집합을 포함 명심 어디를 루프를 할 모든 마커에서 보조 HTML 콘텐츠가 필요한 만 선택하면됩니까? (난 당신이 각 마커의 기본 JSON을 보충하기위한 블록 지원을 논리를 알고, 나는 그게 내가해야 할 무엇 확실하지 않다.)

질문 # 2 : 나는 구현할 수있는 자바 스크립트의 일부 콜백이 있는가, 그래야 마커가 렌더링 될 때 이라는 마커 종류를 확인한 다음 DOM (즉, 보조 HTML 콘텐츠)을 적절하게 수정해야합니다.

제 생각에 각 마커의 JSON은 이 마커를 고유하게 식별 할 수있는 속성을 가져야합니다. 어쩌면 지금은 단순히 "설명" 속성 일뿐입니다. 그런 다음 자바 스크립트에서 콜백이 제공된 경우 특정 '설명'카테고리에 속한 마커, 예를 들어 '빨간색, 흰색 및 파란색'마커 만 적용 할 수 있습니다. javascript의 콜백은 DOM의 관련 요소 인 을 조작하여 GMap과 함께 보조 사용자 정의 HTML 내용 을 생성합니다.

your_objects.to_gmaps4rails do |obj, marker| 
    marker.json({id: obj.id}) 
end 

ANSWER1 :

모든 마커 Gmaps.map.markers에 기본적으로 저장되는 각 마커에 대한 고유 식별자를 얻고 싶다면

답변

1

, 당신은 모든 객체 ID를 사용해야합니다. 다음과 같이 첫 번째 마커의 ID를 얻을 수 있습니다. Gmaps.map.markers[0].id

그러면 적절한 로직을 사용하여 고유 한 함수를 만듭니다.

ANSWER2 :

콜백 사용은 Gmaps.map.callback입니다.

기본적으로

는 수행

<%= gmaps(your_options) %> 

<% content_for :scripts do %> 
<script type="text/javascript"> 
Gmaps.map.callback = function() { 
    //your code 
} 
</script> 
<% end %> 
+0

이 나를 위해 일했다. 감사. –