2

지구 경계로 사용되는 상당히 복잡한 다각형을 그리기 위해 gmap4rails를 사용하고 있습니다.Gmaps4Rails의 다각형 정보 창

첫 번째로 이러한 다각형을 클릭하면 정보 창을 연결하고 싶습니다. 이것은 나의 유스 케이스의 예입니다 : https://google-developers.appspot.com/maps/documentation/javascript/examples/polygon-arrays

gmap의 콜백에 click 이벤트 핸들러를 등록하려고 시도했지만 작동하지 않습니다. 올바른 방법이라고 생각하지 않습니다.

Gmaps.map.callback = function() 
{ 
     console.log("'sup"); 
     var infowindow = new google.maps.InfoWindow 
     ({ 
      content: 'you clicked me!', 
      suppressMapPan:true 
     }); 
     google.maps.event.addListener(Gmaps.map.polygons[0], 'click', function() 
     { 
      console.log("the click event fired"); 
      infowindow.open(map, Gmaps.map.polygons[0]); 
     }); 

} 

둘째, 내가 어떤 사용자가 이벤트에 JQuery와 통해이 폴리곤의 채우기 색을 변경할 수 있도록하고 싶습니다 (사용자가 예를 들어 체크 박스를 클릭). 보석을 사용하면 어떻게 될까요?

답변

1

은 당신의 방법을 바꾸

Gmaps.map.callback = function() 
{ 
    console.log("'sup"); 
    Gmaps.map.polygons[0].infowindow = new google.maps.InfoWindow 
    ({ 
     content: 'you clicked me!' 
    }); 

    google.maps.event.addListener(Gmaps.map.polygons[0].serviceObject, 'click', function(event) 
    { 
     console.log("the click event fired"); 
     infowindow = Gmaps.map.polygons[0].infowindow; 
     infowindow.setPosition(event.latLng); 
     infowindow.open(Gmaps.map.map); 
    }); 

} 

그리고 진실이 아닌 거짓 넣어 this gem's js line을 변경합니다. 커서 변경이 마음에 들지 않아 false로 설정되었습니다. 어쨌든 구성 옵션에 있어야합니다. github에 문제를 만들어서 수정해야한다는 것을 기억하십시오.

+0

그냥 시도해 보니 매력처럼 작동했습니다. 고마워요! –

+0

당신은 환영합니다 :) – apneadiving