Fixed the problem. sorry for the waste of time. Apparently I was
treating some of the incoming data as a 2D array when it was a 3D
array.

On Apr 1, 3:51 pm, The Net Duck <[email protected]> wrote:
> Also, when I don't call "size_map()" it doesn't have the recursion
> error. but it does't size my map.
>
> On Apr 1, 3:48 pm, The Net Duck <[email protected]> wrote:
>
> > Hi
> > I have a array of latlng objects that I run through and extend bounds
> > so that these paths always show up on the map ie the map resizes to
> > fit the lines. When I do this I get a "too much recursion" error in
> > firebug. I was wondering how I could fix this?
>
> > Here is the code.
> > document.observe('dom:loaded', function() {
> >   // this stuff gets executed on the body's on on load time});
>
> > // lat, lng is the center point of the map when starting
> > function initialize_map(lat, lng)
> > {
> >     // in the form ... (lat, lng)
> >     var latlng = new google.maps.LatLng(lat, lng);
> >     var myOptions = {
> >       zoom: 8,
> >       center: latlng,
> >       mapTypeControl: true,
> >       mapTypeControlOptions: {style:
> > google.maps.MapTypeControlStyle.DROPDOWN_MENU},
> >       navigationControl: true,
> >       navigationControlOptions: {style:
> > google.maps.NavigationControlStyle.ANDROID},
> >       mapTypeId: google.maps.MapTypeId.ROADMAP
> >     };
>
> >     // Global Variables
> >     window.map = new
> > google.maps.Map(document.getElementById("map_canvas"), myOptions);
> >     window.bounds = new google.maps.LatLngBounds();}
>
> > // this creates a new marker given the info.
> > // icon_type is either;
> > //    amer
> > //    other
> > //    user
> > // Be aware that if you change the icon_file_name you need ot make
> > sure to account for that in this code.
> > function place_marker(icon_type, description, lat, lng)
> > {
> >    // create the marker
> >     var image = "../images/" + icon_type + "_icon.png";
> >     var latlng = new google.maps.LatLng(lat, lng);
> >     var marker = new google.maps.Marker({
> >         position: latlng,
> >         map: map,
> >         title:description,
> >         clickable: true,
> >         icon:image
> >        });
>
> >     // create the info window when clicked on.
> >     var info_window = new google.maps.InfoWindow({
> >       content: description
> >       });
>
> >         google.maps.event.addListener(marker, 'click', function() {
> >         info_window.open(map,marker);
> >       });
>
> > }
>
> > function draw_route(route, color)
> > {
> >   if (route.type == "LineString"){
> >     create_polyline(route.coordinates, color).setMap(map);
> >   }
> >   else if (route.type == "MultiLineString"){
> >     route.coordinates.each(function(line){
> >       create_polyline(line, color).setMap(map);
> >     });
> >   }
>
> >   set_map_bounds(route.coordinates);
>
> > }
>
> > function create_polyline(coordinates, color)
> > {
> >   // Building the path for the polyline
> >   var line_path  = build_line_path(coordinates);
> >   // Building the polyline
> >   var byways_route = new google.maps.Polyline({
> >      path: line_path,
> >      strokeColor: color,
> >      strokeOpacity: 1.0,
> >      strokeWeight: 2
> >    });
>
> >   return byways_route;
>
> > }
>
> > function set_map_bounds(coordinates)
> > {
> >   var line_path = build_line_path(coordinates);
>
> >   // extends the bounds checking each coord in line path
> >   for (var i = 0; i < line_path.length; i+=1){
> >     bounds.extend(line_path[i]);
> >   }
>
> > }
>
> > function build_line_path(coordinates)
> > {
> >   var line_path = coordinates.map(function(coord){
> >      return new google.maps.LatLng(coord[1], coord[0]);
> >     });
>
> >   return line_path;
>
> > }
>
> > function size_map()
> > {
> >   map.fitBounds(bounds);
>
> > }
>
> > Please be aware that "draw_route" gets called many times by my Rails
> > view page and the incoming "route" contains a Json array of lat / lng
> > coords that are accessed with the "coordinates" call
>
> > Thank you !
>
> >  - The Net Duck

-- 
You received this message because you are subscribed to the Google Groups 
"Google Maps JavaScript API v3" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-maps-js-api-v3?hl=en.

Reply via email to