I've been trying the  "using PHP/MySQL with Google Maps" example code
(http://code.google.com/apis/maps/articles/phpsqlajax_v3.html) example
- although I've skipped the MySQL part and just used a static xml
file. So far I've gotten it working just fine.

However, I'm having problems adding an InfoBox to create map labels,
as in the InfoBox examples page (http://google-maps-utility-library-
v3.googlecode.com/svn/tags/infobox/1.0/docs/examples.html).

Basically, I'm trying to modify and slot in one piece of code from one
example map in to another but don't really know how.

My current map code look like this:

var customIcon = {
icon: 'maps/mm_20_yellow.png',
shadow: 'maps/mm_20_shadow.png'
};

function load() {
var map = new google.maps.Map(document.getElementById("map"), {
center: new google.maps.LatLng(<?php echo $lat;?>, <?php echo $long;?
>),
zoom: <?php echo $zoom;?>,
mapTypeId: '<?php echo $map_style;?>'
});
var infoWindow = new google.maps.InfoWindow;
downloadUrl("map/data/<?php echo $xml;?>.xml", function(data) {
var xml = parseXml(data);
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var isl = markers[i].getAttribute("isl");
var inf = markers[i].getAttribute("inf");
var lat = markers[i].getAttribute("lat");
var lng = markers[i].getAttribute("lng");
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var html = "<b>" + isl + "</b>" + "<div class='line'>" + "<br>" + lat
+", " + lng + "<br>" + inf + "</div>";
var icon = customIcon || {};
var marker = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon,
shadow: icon.shadow
});
bindInfoWindow(marker, map, infoWindow, html);
}
});
}

function bindInfoWindow(marker, map, infoWindow, html) {
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent(html);
infoWindow.open(map, marker);
});
}

function downloadUrl(url, callback) {
var request = window.ActiveXObject ?
new ActiveXObject('Microsoft.XMLHTTP') :
new XMLHttpRequest;

request.onreadystatechange = function() {
if (request.readyState == 4) {
request.onreadystatechange = doNothing;
callback(request.responseText, request.status);
}
};

request.open('GET', url, true);
request.send(null);
}

function parseXml(str) {
if (window.ActiveXObject) {
var doc = new ActiveXObject('Microsoft.XMLDOM');
doc.loadXML(str);
return doc;
} else if (window.DOMParser) {
return (new DOMParser).parseFromString(str, 'text/xml');
}
}

function doNothing() {}


While the InfoBox map label code looks like this:

        var myOptions = {
                         content: labelText
                        ,boxStyle: {
                           border: "1px solid black"
                          ,textAlign: "center"
                          ,fontSize: "8pt"
                          ,width: "50px"
                         }
                        ,disableAutoPan: true
                        ,pixelOffset: new google.maps.Size(-25, 0)
                        ,position: secheltLoc
                        ,closeBoxURL: ""
                        ,isHidden: false
                        ,pane: "mapPane"
                        ,enableEventPropagation: true
                };

                var ibLabel = new InfoBox(myOptions);
                ibLabel.open(map);


Thanks in advance for any help offered.

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