Hej
Korzystam z gemu gmail4rails https://github.com/apneadiving/Google-Maps-for-Rails
Robię aplikację, która inwetnaryzuje mi sieci komputerową. Sieć ma swoje “węzły” i linie kablowe między tymi węłami. Nanoszę to sobię na mapę i o ile z punktami nie mam problemu: robię zgodnie z opisem, czyli w kontrolerzę tworzę odpowiedni hash z marker.infowindow render_to_string(:partial => “maps/info”, :layout => false, :formats => :html) to już w przypadku linii trafiłem w ścianę.
Linia zawiera dwa punkty, które zawierają współrzędne oraz kilka dodatkowych informacji, które chciałbym wyświetlić po kliknięciu na linię.
Wydaje mi się, że ten gem nie ułatwia czegoś tym stylu, lub ma tę opcję gdzieś schowaną.
Doszedłem jak zrobić pojedyńczą linię. W widoku wrzucam:
<script language='JavaScript'>
handler = Gmaps.build('Google');
handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
var poly = handler.addPolylines(
[
[
{"lat":"53.5199","lng":"23.5017"}, {"lat":"53.52672","lng":"23.51093"}
]
],
{ strokeColor: '#902020', strokeOpacity: 0.8, strokeWeight: 10, info: 'Informacja'}
);
var polyline = poly[0];
google.maps.event.addListener(polyline.getServiceObject(), "click", function(event) {
var infowindow = new google.maps.InfoWindow({content: polyline.getServiceObject().info });
infowindow.setPosition(event.latLng);
infowindow.open(handler.getMap());
});
handler.bounds.extendWith(poly);
handler.fitMapToBounds();
handler.getMap().setZoom(10);
});
</script>
Ale nie będzie to zbyt eleganckie rozwiązanie przy kilkuset różnych liniach.
Ma ktoś doświadczenie z tym gemem i podpowie jak można to zrobić “ładnie”?