ok, even though the @mapped_sites.to_json works, the output of that does not look like json. It looks like an array
example: var sites = [["35.931341","-102.32205",381.75,288.0,"AL","AL", 557,"#7F7F7F","#FF0000",287.1,288.3,"AL<br>0 psi",0], ["35.88125039","-102.3088989",525.0,83.4,"DC","DC", 34280,"#7F7F7F","#FF0000",83.1,83.3,"DC<br>0 psi",0], ["35.88125039","-102.3226989",525.0,81.7,"DC2","DC2", 37241,"#000000","#FF0000",81.7,81.7,"DC2<br>0 psi",0], ["35.92361","-102.308768",534.75,73.7,"J1","J1", 559,"#7F7F7F","#FF0000",74.7,73.8,"J1<br>0 psi",0], ["35.92332","-102.32096",493.5,261.0,"J2","J2",560,"#7F7F7F","#FF0000", 261.0,261.0,"J2<br>0 psi",0],["35.931354","-102.31308", 397.5,80.8,"SL1","SL1",561,"#7F7F7F","#FF0000",81.3,81.9,"SL1<br>0 psi",0],["35.931186","-102.304202",390.0,165.2,"SL2","SL2", 110823130,"#7F7F7F","#FF0000",165.4,165.6,"SL2<br>0 psi",0], ["35.938729","-102.29968",397.5,89.3,"SL4","SL4", 563,"#7F7F7F","#FF0000",89.3,89.3,"SL4<br>0 psi",0], ["35.931301","-102.29965",397.5,23.7,"SL5","SL5", 564,"#7F7F7F","#FF0000",23.9,23.0,"SL5<br>0 psi",0], ["35.924694","-102.299034",333.75,95.8,"SL6","SL6", 7882,"#7F7F7F","#FF0000",95.8,95.8,"SL6<br>0 psi",0]]; and the code seems to work with it like an array. How do i get the responseText from the server as an array? thanks again. sk On Dec 13, 4:08 pm, Frederick Cheung <frederick.che...@gmail.com> wrote: > On 13 Dec 2011, at 19:54, skrite <sh...@skrite.net> wrote: > > > Jim. > > > You are correct, when i show typeof(sites) from when sites = <%= > > @mapped_sites => > > i get object > > when i do typeof(sites) after getting sites from the > > url_that_returns_json > > i get string > > responseText is always going to be text if I remember how prototype handles > thing (the text will just happen to be the string representation of the json). > If the response content-type was set correctly then response.responseJson (or > something like that) should be populated > > Fred > > > > > > > > > i suppose that i am not getting returned correctly. > > if i look at the source of @mapped_sites > > and from the browser look at url_that_returns_json, > > they are identical. > > > thanks for your help, again. > > I have learned a lot the last couple of days :) > > > On Dec 12, 6:22 pm, Jim Ruther Nill <jvn...@gmail.com> wrote: > >> On Tue, Dec 13, 2011 at 6:08 AM, skrite <sh...@skrite.net> wrote: > >>> I am doing something similar here. The website is built on rails 2.3.9 > >>> and > >>> uses prototype. > > >>> Almost all of what i need to happen does, but i get to the point where > >>> the update happens and nothing does. > > >>> // add circles to map as it initializes > >>> addCircles(sites, map, markerArray, lineArray); > > >>> var pe = new PeriodicalExecuter(refreshCircleMarkers.curry(markerArray, > >>> lineArray, map), 33); > > >>> function refreshCircleMarkers(markerArray, lineArray, map) { > >>> // first we remove the existing markers in place > >>> for(i=0; i<markerArray.length; i++) { > >>> markerArray[i].setMap(null); > >>> } > > >> // and empty the array itself> markerArray = []; > > >>> var url = "/group/update_mapv3_circles"; > >>> new Ajax.Request(url, { > >>> method: 'get', > >>> onSuccess: function(response) { > >>> var sites = response.responseText; > >>> addCircles(sites, map, markerArray, lineArray); > >>> } > >>> }); > > >> I see nothing wrong. Does the addCircles function expect a JSON > >> object for the first param? The only reason I can think why this isn't > >> working > >> is a type mismatch. > > >>> If i do an alert(response.responseText) the alert will show up and > >>> display the contents of the @mapped_sites.to_json ( i am using > >>> render :json => @mapped_sites.to_json in the controller). > >>> Please let me know if you see something i am doing wrong. > >>> Thanks for your help on this so far Jim. > > >>> sk > > >>> On Dec 9, 11:49 pm, Jim Ruther Nill <jvn...@gmail.com> wrote: > >>>> On Sat, Dec 10, 2011 at 3:56 AM, skrite <sh...@skrite.net> wrote: > >>>>> 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. > > >>>> i'll still go with my suggestion earlier. To update the colors, just > >>> update > >>>> the sites variable after completing the ajax request and then call > >>>> addCircles > > >>>> your ajax call may look like the following (this is totally untested :D) > > >>>> $.ajax({ > >>>> url: your_url_here_that_returns_json_equivalent_of_@mapped_sites, > >>>> success: function(data) { > >>>> addCircles(data); > >>>> } > > >>>> }); > >>>>> 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. > > >>>> -- > >>>> ------------------------------------------------------------- > >>>> 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. > > >> -- > >> ------------------------------------------------------------- > >> 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 > > ... > > read more » -- 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.