I have what seems to be the exact same problem as Bern, but it isn't 
resolved by Davide's advice.

I've followed this demo:
http://code.google.com/apis/maps/articles/phpsqlajax_v3.html

My attempt here: http://pr107m.psur.utk.edu/~lilia/campusmap/help/

I am trying to get at the contents of the "department" element in the XML 
from 
genxml-building-depts.php<http://pr107m.psur.utk.edu/%7Elilia/campusmap/help/genxml-buildings-depts.php>(php
 shown below):
// building SQL
        $Bquery = "SELECT building_name, building_id, building_code, 
building_infoLat, building_infoLng, building_type FROM building ORDER BY 
building_name";
            
        $Bresult = mysql_query($Bquery);
            if (!$Bresult) {  
              die('Invalid Bquery: ' . mysql_error());
            } 
            
    
        //fetch building data
        while ($Brow = mysql_fetch_array($Bresult, MYSQL_ASSOC)) 
        {
        
        //for each building
        foreach ($Brow as $key => $value) 
                    {
                        
                            //echo out building element & building name    
                            if ($key=="building_name")
                                { 
                                      // ADD TO XML DOCUMENT NODE  
                                      $item = 
$dom->createElement("building");  
                                      $root->appendChild($item);  
                                      
$item->setAttribute("building_name",parseToXML($value));
                                      //create text node
                                      //$Btext = 
$dom->createTextNode(parseToXML($value));
                                      //$item->appendChild($Btext);     
                                }
                            //give building element attributes
                            if ($key=="building_id")
                                {    
                                    
$item->setAttribute("building_id",$value);
                                }
                            if ($key=="building_code")
                                {    
                                    
$item->setAttribute("building_code",$value);
                                }    
                            if ($key=="building_infoLat")
                                {    
                                    
$item->setAttribute("building_infoLat",$value);
                                }    
                            if ($key=="building_infoLng")
                                {    
                                    
$item->setAttribute("building_infoLng",$value);
                                }    
                            if ($key=="building_type")
                                {    
                                    
$item->setAttribute("building_type",$value);
                                    //if you're echoing the building_type, 
grab these depts while you're at it    
                                    $Dquery = 'SELECT * FROM departments 
WHERE departments_buildingID = '.$Brow['building_id'];
                                        
                                    $Dresult = mysql_query($Dquery);
                                        if (!$Dresult) {  
                                          die('Invalid Dquery: ' . 
mysql_error());
                                        } 
                                                //fetch dept array
                                                while ($Drow = 
mysql_fetch_array($Dresult, MYSQL_ASSOC)) 
                                                {
                                                    //echo out department 
info
                                                    foreach ($Drow as $key2 
=> $value2) 
                                                    {
                                                        
                                                            //echo out 
department element & department name    
                                                            if 
($key2=="departments_name")
                                                                {
                                                                      // add 
child node 
                                                                      $dept 
= $dom->createElement("department");
                                                                      
$item->appendChild($dept);
                                                                      
//create text node
                                                                      $Dtext 
= $dom->createTextNode($value2);
                                                                      
$dept->appendChild($Dtext);     
                                                                }    
                                                            //give 
department element attributes
                                                            if 
($key2=="departments_buildingID")
                                                                {    
                                                                    
$dept->setAttribute("departments_buildingID",$value2);
                                                                }
                                                            if 
($key2=="departments_room")
                                                                {    
                                                                    
$dept->setAttribute("departments_room",$value2);
                                                                }    
                                                            if 
($key2=="departments_url")
                                                                {    
                                                                    
$dept->setAttribute("departments_url",$value2);
                                                                }    
                                                            if 
($key2=="departments_phone")
                                                                {    
                                                                    
$dept->setAttribute("departments_phone",$value2);
                                                                }
                                                            if 
($key2=="departments_email")
                                                                {    
                                                                    
$dept->setAttribute("departments_email",$value2);
                                                                }            
    
                                                    }
                                                }
                                }
                    
                    }
                

        }
echo $dom->saveXML();
?>

Sample of XML:
<building building_name="Aconda Court " building_id="3" building_code="AC" 
building_infoLat="35.9571980000" building_infoLng="-83.9299680000" 
building_type="building">
<department departments_buildingID="3" departments_room="104" 
departments_url="http://www.math.utk.edu/"; departments_phone="(865) 
974-2461" departments_email="[email protected]">Mathematics</department>
</building>

Like Bern, I'm declaring a variable that attempts to get the first child of 
"building" and I had it structured the same:
 var deptName = markers[i].childNodes[0].nodeValue;
But Firebug says markers[i].childNodes[0] is undefined. This makes sense to 
me because when I uncomment these lines:
//$Btext = $dom->createTextNode(parseToXML($value));
//$item->appendChild($Btext);     
from 
genxml-buildings-depts.php<http://pr107m.psur.utk.edu/%7Elilia/campusmap/help/genxml-buildings-depts.php>,
 
markers[i].childNodes[0].nodeValue spits out the building name. But I don't 
need that, so I leave them commented.

Then, I adjusted my code according to Davide's advice:
 var deptName = markers[i].childNodes[1].textContent;
But again, Firebug says that markers[i].childNodes[1] is undefined.

I've tried using debuggers in other browsers, but they haven't been able to 
provide any more information to help me troubleshoot.

I tried adjusting my code to match the example that Bern uses (it's still 
commented out in http://pr107m.psur.utk.edu/~lilia/campusmap/help/), but I 
get the same message in FireBug: markers[i].childNodes[1] is undefined.

To be honest, I have no clue what I'm doing wrong. From what I've read and 
the instructions I've followed, I think I'm doing it right? Any, any help 
would be very much appreciated. I apologize in advance if my explanation is 
convoluted, I'm just trying to provide a thorough description of what I've 
tried.


-- 
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