I am having troubles with my google maps conversion to jquery. My
markers are being generated from a get json request and then each
marker is being created using $.each. My trouble happen when creating
a side bar with buttons to open the info windows. I can create the
button but can not seem to pull the individual marker info to activate
the info window. Here is my code so far:

                        var map;
                        $(document).ready(function() {
                                if (GBrowserIsCompatible()) {
                                        // Initialize the map.
                                        var baseIcon = new GIcon();
                                        baseIcon.image = 
"http://redhattester.googlepages.com/
GmapIcon02.png";
                                        baseIcon.shadow = 
"http://redhattester.googlepages.com/
GmapIcon02Shadow.png";
                                        baseIcon.iconSize = new GSize(45, 45);
                                        baseIcon.shadowSize = new GSize(42, 45);
                                        baseIcon.iconAnchor = new GPoint(18, 
38);
                                        baseIcon.infoWindowAnchor = new 
GPoint(19, 2);

                                        map = new 
GMap2(document.getElementById("map")); // This sets up
the and rest just sets up the controls
                                                
map.addMapType(G_SATELLITE_3D_MAP); // For Google Earth
                                                map.addMapType(G_PHYSICAL_MAP); 
// Adds Satelite maps
                                                map.addControl(new 
GMenuMapTypeControl()); // This makes the
choses a drop down menu
                                                map.addControl(new 
GLargeMapControl()); // Use large map
controls
                                                map.setMapType(G_HYBRID_TYPE); 
// Hybrid map
                                                map.enableScrollWheelZoom(); // 
Allows for users to scroll zoom
with their mouse wheel

                                        //console.log("Loading the JSON file")
                                        
$.getJSON("GmapData.json",function(data){
                                                   var NewLat = 
data.items[0].lat; var NewLng =
data.items[0].long; var NewPoint = new GLatLng(NewLat, NewLng);
                                                   map.setCenter(NewPoint, 12);
                                                
$.each(data.items,function(i,item){
                                                         var lat = item.lat; 
var lng = item.long; var name = item.name;
var chapter = item.chapter; var locale = item.locale; var imageSm =
item.ImageSm; var imageBg = item.ImageBg; var ContentSm =
item.ContentSm; // Sets up the sorted out info from the json file
                                                         var NormalContent = 
'<h3>'+ name +'</h3><div
class="iwstyle01"><img src="' + imageSm + '"
class="MiniPic"><p><strong class="ChapterName">' + chapter + '</
strong> -  ' + locale + ' ' + ContentSm + '</p><p
class="miniInstruc">Click the + symbol at the top of this bubble to
see the image bigger.</p></div>';
                                                         var BiggieContent = 
'<div style="padding:10px 0 0 0;"><img
src="' + imageBg + '" class="BigPic"><p><strong class="ChapterName">'
+ chapter + '</strong> -  ' + locale + ' ' + ContentSm + '</p></div>';

                                                         var point = new 
GLatLng(lat,lng);
                                                         var marker = new 
GMarker(point,{icon:baseIcon}); // Create the
marker.
                                                                
GEvent.addListener(marker, "click", function() {
                                                                        
marker.openInfoWindowHtml(NormalContent, {maxContent:
BiggieContent, maxTitle: name});
                                                                });

                                                          
map.addOverlay(marker);

                                                                if (i==0) { // 
This will trigger open the newest story
                                                                        
GEvent.trigger(marker, "click");
                                                                }

                                                                
$('#side_bar').append('<li><a href="javascript:myclick('+ i
+')">' + name + '</a></li>');

                                                });

                                        });

                                                        // This function picks 
up the click and opens the corresponding
info window
                                                                  function 
myclick(i) {
                                                                        
GEvent.trigger(marker[i], "click");
                                                                  }

                             } else { alert("Sorry, the Google Maps API is not 
compatible
with this browser"); }

                        });

                        $(document.body).unload(function() {
                                if (GBrowserIsCompatible()) {
                                        GUnload();
                                }
                        });

Please help me... I am still new to JavaScript and Jquery.

Reply via email to