Hi,

Thanks for spotting that! Have updated it and it still does not show
the markers as they should...:-(

Both FF and IE is complaining about this line.
markersXml.push(markerOnMap);

FF says it's not a function. Why does I get an error here?

/Nimrod

On 14 Maj, 20:37, "[email protected]" <[email protected]> wrote:
> On May 14, 11:20 am,nimrod<[email protected]> wrote:
>
> > Hi,
>
> > The challenge is that I do not get the markers onto the map.
> > I'm searching the webb but without any luck.
>
> > This is what I would like to 
> > achieve:http://gmaps-utility-library.googlecode.com/svn/trunk/markerclusterer...
>
> > My problem is that I do not know what's the problem with the code and
> > if I have known the problem I would have solved it...:-)
>
> > I *think* there are some issues with the way the markers are iterated
> > through in the for-loop and in the way the are printed on the
> > screen...or rather...how they should be printed on the screen.
>
> > So...I'm stuck and would be sooo greatful if someone can "unstuck"
> > me :-))
>
> Perhaps you should fix your javascript error:
> 'marker' is undefined now on this line:
>       GEvent.addListener(marker, 'click', function()
> { marker.openInfoWindowHtml(html);});
>
> (you seem to have changed it to markerOnMap, but missed the two
> instances here...)
>
>   -- Larry
>
> > /Nimrod
>
> > On 14 Maj, 20:10, "[email protected]" <[email protected]> wrote:
>
> > > On May 14, 10:51 am,nimrod<[email protected]> wrote:> OK, you 
> > > find the page at
>
> > >http://www.g8journey.com/destinations/destinations_main.php
>
> > > > I have markerCluster = new MarkerClusterer(map, markersXml);  in the
> > > > function that process the response from the GDownloadUrl and var
> > > > markerCluster; on top and outside all functions.
>
> > > And?
> > > - what is the problem?
> > > - did you answer this question?
>
> > > > >     var markersXml = [];
> > > > Why are you emptying the markersXml array that you just created?  The
> > > > above line makes markersXml.length always 0.
>
> > > > /Nimrod
>
> > > > The code is;
>
> > > > var markerCluster;
> > > > var map;
> > > >       function initialize() {
> > > >                 if(GBrowserIsCompatible()) {
> > > >           map = new GMap2(document.getElementById('map'));
>
> > > >           map.setCenter(new GLatLng(39.91, 116.38), 2);
> > > >           map.addControl(new GLargeMapControl());
> > > >           var icon = new GIcon(G_DEFAULT_ICON);
> > > >           icon.image = "http://chart.apis.google.com/chart?
> > > > cht=mm&chs=24x32&chco=FFFFFF,008CFF,000000&ext=.png";
> > > >           GDownloadUrl("phpsqlajax_genxml2.php?bogus="+(new Date
> > > > ()).getTime(),processMyData); //Calls the xml-data and sends it to
> > > > processMYyData-function
> > > >         }
> > > >       }
> > > >        function createMarker(point) {
> > > >                                 var marker = new GMarker(point);
> > > >                                 var html = "<b>" + name + "</b> <br/>" 
> > > > + address;
> > > >                                 GEvent.addListener(marker, 'click', 
> > > > function()
> > > > { marker.openInfoWindowHtml(html);});
> > > >                                 return marker;
> > > >                         }
>
> > > >     function processMyData(data) {
> > > >     var xml = GXml.parse(data);
> > > >     var markersXml = xml.documentElement.getElementsByTagName
> > > > ("marker");
> > > >     var markersXml = [];
> > > >              for (var i = 0; i < markersXml.length; ++i) {
> > > >               var name = markersXml[i].getAttribute("id");
> > > >                 var point = new 
> > > > GLatLng(parseFloat(markersXml[i].getAttribute
> > > > ("lat")), parseFloat(markersXml[i].getAttribute("lng")));
> > > >                 var markerOnMap = createMarker(point);
> > > >                         markersXml.push(markerOnMap);
> > > >                         markerCluster = new MarkerClusterer(map, 
> > > > markersXml);
> > > >           }
> > > >   }
>
> > > > On May 14, 7:25 pm, "[email protected]" <[email protected]>
> > > > wrote:
>
> > > > > On May 14, 9:33 am,nimrod<[email protected]> wrote:
>
> > > > > > Hi Larry,
>
> > > > > > Thank you for the reply.
>
> > > > > > I changed the function to the below but it does not show the
> > > > > > markers...
>
> > > > > >     function processMyData(data) {
> > > > > >     var xml = GXml.parse(data);
> > > > > >     var markersXml = xml.documentElement.getElementsByTagName
> > > > > > ("marker");
> > > > > >     var markersXml = [];
>
> > > > > Why are you emptying the markersXml array that you just created?  The
> > > > > above line makes markersXml.length always 0.
>
> > > > > >              for (var i = 0; i < markersXml.length; ++i) {
> > > > > >               var name = markersXml[i].getAttribute("id");
> > > > > >                                 var point = new 
> > > > > > GLatLng(parseFloat(markersXml[i].getAttribute
> > > > > > ("lat")), parseFloat(markersXml[i].getAttribute("lng")));
> > > > > >                                 var markerOnMap = 
> > > > > > createMarker(point);
> > > > > >                         markersXml.push(markerOnMap);
> > > > > >                         markerCluster = new MarkerClusterer(map, 
> > > > > > markersXml);
> > > > > >           }
> > > > > >   }
>
> > > > > > Any ideas why?
>
> > > > > Not without looking at your page again
>
> > > > > > About the MarkerManager...do I need that one when I use the
> > > > > > MarkerClusterer?
>
> > > > > typo, I meant MarkerClusterer
>
> > > > > > Many thanks,
>
> > > > > > /Nimrod
>
> > > > > > On May 14, 3:45 pm, "[email protected]" <[email protected]>
> > > > > > wrote:
>
> > > > > > > On May 14, 6:29 am,nimrod<[email protected]> wrote:
>
> > > > > > > > Great, now I have truely learned something today :-) thank you!
>
> > > > > > > > I made
> > > > > > > >   var map;
> > > > > > > >   var markerCluster;
> > > > > > > > into global variables as you suggested and have the
> > > > > > > > markerCluster = new MarkerClusterer(map, markers);
> > > > > > > > in the processMyData-function.
>
> > > > > > > > Belive it or not but I do not get any erros in FF right now. On 
> > > > > > > > the
> > > > > > > > downside is that I get no markers on the map either... :-((
>
> > > > > > > > From the bottom and up...
>
> > > > > > > > 1. XML is ok:
> > > > > > > >   <?xml version="1.0" ?>
> > > > > > > > - <markers>
> > > > > > > >   <marker id="95" address="" lat="98.3307" lng="7.98431" 
> > > > > > > > type="" />
> > > > > > > >   <marker id="96" address="" lat="28.4198" lng="-81.5802" 
> > > > > > > > type="" />
> > > > > > > >   <marker id="97" address="" lat="56.6375" lng="16.4998" 
> > > > > > > > type="" />
> > > > > > > >   <marker id="98" address="Sea World, Orlando, FL 32821, USA"
> > > > > > > > lat="28.4116" lng="-81.4591" type="" />
> > > > > > > >   <marker id="99" address="Tract C, Virgin Islands" 
> > > > > > > > lat="18.3166"
> > > > > > > > lng="-64.9564" type="" />
> > > > > > > >   <marker id="100" address="78-100 Tract F, Virgin Islands"
> > > > > > > > lat="18.3217" lng="-64.9527" type="" />
> > > > > > > >   <marker id="102" address="Tract C, Virgin Islands" 
> > > > > > > > lat="18.3167"
> > > > > > > > lng="-64.9568" type="" />
> > > > > > > >   </markers>
>
> > > > > > > > 2. The XML is passed into processMyData-function which iterates
> > > > > > > > through it with a for-loop.
>
> > > > > > > > 3. For each marker in the for-loop the createMarker-function is 
> > > > > > > > called
> > > > > > > > and creates marker.
>
> > > > > > > but first you set the markers array to empty
> > > > > > >     var markers = [];
> > > > > > > leaving nothing to process.
> > > > > > > I would suggest naming the array of html elements that you get 
> > > > > > > from
> > > > > > > your xml and the array of GMarkers with different names.
>
> > > > > > > Then this rather important line is commented out...
> > > > > > > //var point = new 
> > > > > > > GLatLng(parseFloat(markers[i].getAttribute("lat")),
> > > > > > > parseFloat(markers[i].getAttribute("lng")));
>
> > > > > > > You don't include the MarkerCluster "library" in your page, so
> > > > > > > MarkerManager is undefined.
>
> > > > > > >   -- Larry
>
> > > > > > > > 4. The marker is returned and allocated to the "var marker"
>
> > > > > > > > 5. markers.push(marker);
>
> > > > > > > > 6. markerCluster = new MarkerClusterer(map, markers);
>
> > > > > > > > Shouldn't this work...?
>
> > > > > > > > How do I go from here?
>
> > > > > > > > /Nimrod
>
> > > > > > > > On May 14, 2:28 pm, Andrew Leach <[email protected]>
> > > > > > > > wrote:
>
> > > > > > > > > On May 14, 1:17 pm,nimrod<[email protected]> 
> > > > > > > > > wrote:
>
> > > > > > > > > > The GDownloadUrl(url,processMyData) gets the data from the 
> > > > > > > > > > specific
> > > > > > > > > > URL. It "send" it to the processMyData-function. That 
> > > > > > > > > > functions
> > > > > > > > > > process the data and should display the markers on the map.
>
> > > > > > > > > > Is that correct?
>
> > > > > > > > > Yes.
>
> > > > > > > > > > I've progressed one step and FF is not liking that var 
> > > > > > > > > > markerCluster
> > > > > > > > > > not is defined. I have markerCluster in the 
> > > > > > > > > > processMyData-function but
> > > > > > > > > > the map-argument is defined in the initialize()-function. 
> > > > > > > > > > Is that why
> > > > > > > > > > FF is complaining about markerCluster?
>
> > > > > > > > > Yes. Or nearly, anyway.
>
> > > > > > > > > I would suggest adding these lines outside ANY function:
> > > > > > > > >   var map;
> > > > > > > > >   var markerCluster;
> > > > > > > > > then move your existing lines which start like that inside the
> > > > > > > > > intialize() function but remove the "var" keyword.
> > > > > > > > >   map = new GMap2(document.getElementById('map'));
> > > > > > > > >   markerCluster = new MarkerClusterer(map, markers);
>
> > > > > > > > > What that does is make "map" and "markerCluster" into global
> > > > > > > > > variables, which are available to any function. They are then 
> > > > > > > > > assigned
> > > > > > > > > values in the initialize() function.
>
> > > > > > > > > Andrew- Hide quoted text -
>
> > > > > > > > - Show quoted text -- Hide quoted text -
>
> > > > > > > - Show quoted text -- Hide quoted text -
>
> > > > > > > - Show quoted text -- Hide quoted text -
>
> > > > > > - Show quoted text -- Hide quoted text -
>
> > > > > - Show quoted text -- Hide quoted text -
>
> > > > - Show quoted text -- Dölj citerad text -
>
> > > - Visa citerad text -- Hide quoted text -
>
> > - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Maps API" 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-API?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to