I am intrigued by this solution, Jim. i have a couple of questions, as it seems this is a cleaner way than what I am trying to do. The values that determine the circle color are in the database, and can change while the page is loaded. This is why i need them to update. So, somehow i still need to go to the server for that. I guess i am missing the part about how to get the @mapped_sites variable to the controller and back again to the page to rebuild the circles. Thanks for your time on this. sk
On Dec 9, 9:48 am, Jim Ruther Nill <jvn...@gmail.com> wrote: > On Fri, Dec 9, 2011 at 11:04 PM, skrite <sh...@skrite.net> wrote: > > Hey, thanks for these links, very helpful. > > -sk > > > On Dec 8, 7:49 pm, "L.Karthikeyan" <logkart...@gmail.com> wrote: > > > Hi, > > > > For this you need to use rjs Ajax request. Please refer the > > > following links, you will get an idea. > > > > 1.http://railscasts.com/episodes/43-ajax-with-rjs?autoplay=true, > > > 2.http://railscasts.com/episodes/229-polling-for-changes?autoplay=true > > one more option is to keep @mapped_sites to a javascript variable so you > dont have to use ajax. you might also want to move the makeMarker part > to a js function to tidy up the view and just call that function when you > need > to update the colors > > something along the lines of > > var sites = <%= @mapped_sites.to_json %>; > addCircles(sites); > > function addCircles(circles) { > for(i=0; i<circles.length; i++) { > center = new google.maps.LatLng(circles[i][0], circles[i][1]); > siteCircle = makeMarker({ > position: center, > strokeColor: "#FF0000", > strokeOpacity: 0.8, > strokeWeight: 2, > fillColor: circles[i][7], > fillOpacity: 0.75, > radius: 560, > map: map, > center: center, > radius: circles[i][2], > title: circles[i][5], > content: 'content' > }); > } > > } > > then you just need to update the sites variable using js. no need > to go back to the server. > > > > > > > > > > > > > > On Thu, Dec 8, 2011 at 1:10 AM, skrite <sh...@skrite.net> wrote: > > > > > Hey all, > > > > i have a google map and i am drawing circles on the map like this.. > > > > > var latlng = new google.maps.LatLng(35.931387, > > > > -102.31062); > > > > var myMapOptions = > > > > { > > > > zoom: > > > > 12, > > > > center: > > > > latlng, > > > > mapTypeId: > > > > google.maps.MapTypeId.HYBRID > > > > }; > > > > > var map = new > > > > google.maps.Map(document.getElementById("map_canvas"), > > > > myMapOptions); > > > > var infoWindow = new > > > > google.maps.InfoWindow(); > > > > var markerBounds = new > > > > google.maps.LatLngBounds(); > > > > > <% @mapped_sites.each do |row| > > > > %> > > > > > // main > > > > circle > > > > center = new google.maps.LatLng(<%= "#{row[0]}" %>, <%= > > > > "#{row[1]}" > > > > %>); > > > > siteCircle = > > > > makeMarker({ > > > > position: > > > > center, > > > > strokeColor: > > > > "#FF0000", > > > > strokeOpacity: > > > > 0.8, > > > > strokeWeight: > > > > 2, > > > > fillColor: '<%= "#{row[7]}" > > > > %>', > > > > fillOpacity: > > > > 0.75, > > > > radius: > > > > 560, > > > > map: > > > > map, > > > > center: > > > > center, > > > > radius: <%= "#{row[2]}" > > > > %>, > > > > title: '<%= "#{row[5]}" > > > > %>', > > > > content: '<%= "some contnet > > > > %>' > > > > }); > > > > > markerArray.push(siteCircle); > > > > > my question is, that since the fillColor is going to change from time > > > > to time, i want to update all the colors of the circles periodically. > > > > What i don't know how to do is get the equivelent to the > > > > @mapped_sites because if i could, i think i could just delete the > > > > existing circles and draw new ones. > > > > > How do i get info back from the server periodically to update the > > > > circle colors? > > > > > thanks to all. > > > > skrite > > > > > -- > > > > You received this message because you are subscribed to the Google > > Groups "Ruby on Rails: Talk" group. > > > > To post to this group, send email to rubyonrails-talk@googlegroups.com > > . > > > > To unsubscribe from this group, send email to > > rubyonrails-talk+unsubscr...@googlegroups.com. > > > > For more options, visit this group athttp:// > > groups.google.com/group/rubyonrails-talk?hl=en. > > > > -- > > > > Regards, > > > L.KarthiKeyan. > > > -- > > You received this message because you are subscribed to the Google Groups > > "Ruby on Rails: Talk" group. > > To post to this group, send email to rubyonrails-talk@googlegroups.com. > > To unsubscribe from this group, send email to > > rubyonrails-talk+unsubscr...@googlegroups.com. > > For more options, visit this group at > >http://groups.google.com/group/rubyonrails-talk?hl=en. > > -- > ------------------------------------------------------------- > visit my blog athttp://jimlabs.heroku.com -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.