I have since edited my code. It still is not working however...
<script>
var map;
function initialize () {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map_canvas"));
map.enableScrollWheelZoom();
map.setCenter(new GLatLng(39.504041,-99.492187), 5);
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.addMapType(G_PHYSICAL_MAP);
map.setMapType(G_HYBRID_MAP);
addMarkersFromXML();
var myIcon = new GIcon(G_DEFAULT_ICON);
myIcon.image = 'markers/image.png';
myIcon.shadow = 'markers/shadow.png';
myIcon.iconSize = new GSize(32,32);
myIcon.shadowSize = new GSize(48,32);
myIcon.iconAnchor = new GPoint(16,32);
myIcon.infoWindowAnchor = new GPoint(16,0);
myIcon.printImage = 'markers/printImage.gif';
myIcon.mozPrintImage = 'markers/mozPrintImage.gif';
myIcon.printShadow = 'markers/printShadow.gif';
myIcon.transparent = 'markers/transparent.png';
myIcon.imageMap =
[31,0,31,1,31,2,31,3,31,4,31,5,31,6,31,7,31,8,31,9,31,10,31,11,31,12,31,13,31,14,31,15,31,16,31,17,
31,18,31,19,31,20,31,21,31,22,31,23,31,24,31,25,31,26,31,27,31,28,31,29,31,30,31,31,0,31,0,30,0,29,0,28,0,27,0,26,0,25,0,24,0,23,0,22,0,21,0,20,0,19,0,18,0,17,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,0,6,0,5,0,4,0,3,0,2,0,1,0,0];
// An array of GIcons, to make the selection easier
var icons = [];
icons[0] = blueIcon;
icons[1] = myIcon;
// the icon information is passed to this function
function createMarker(point,htmlString,icontype) {
var marker = new GMarker(point,icons[icontype]);
}
var markerOptions = { icon:myIcon } ;
}
}
function addMarkersFromXML(){
var batch = [];
mgr = new MarkerManager(map);
var request = GXmlHttp.create();
request.open('GET', 'ridingarea1.xml', true);
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200) {
var xmlDoc = request.responseXML;
var xmlrows =
xmlDoc.documentElement.getElementsByTagName("Row");
for (var i = 0; i < xmlrows.length; i++) {
var xmlrow = xmlrows[i];
var xmlcellLongitude =
xmlrow.getElementsByTagName("Longitude")[0];
var xmlcellLatitude =
xmlrow.getElementsByTagName("Latitude")[0];
var point = new GLatLng(parseFloat
(xmlcellLatitude.firstChild.data), parseFloat
(xmlcellLongitude.firstChild.data));
//get the building name
var xmlcellRidingArea =
xmlrow.getElementsByTagName("Riding_Area")
[0];
var celltextRidingArea =
xmlcellRidingArea.firstChild.data;
//get the address
var xmlcellAddress =
xmlrow.getElementsByTagName("Address")[0];
var celltextAddress =
xmlcellAddress.firstChild.data;
//get the ownership
var xmlcellOwnership =
xmlrow.getElementsByTagName("Ownership")[0];
var celltextOwnership =
xmlcellOwnership.firstChild.data;
//get the date built
var xmlcellDateBuilt =
xmlrow.getElementsByTagName("Date_Built")
[0];
var celltextDateBuilt =
xmlcellDateBuilt.firstChild.data;
var htmlString = "Riding Area: " +
celltextRidingArea + "<br>" +
"Address: " + celltextAddress + "<br>" + "Ownership: " +
celltextOwnership + "<br>" + "More Info: " + celltextDateBuilt;
//var htmlString = 'yes'
var marker = createMarker(point,htmlString);
batch.push(marker);
}
mgr.addMarkers(batch,5);
mgr.refresh();
}
}
request.send(null);
}
function createMarker(point,html) {
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
return marker;
}
</script>
</head>
<body onload="initialize()" onunload="GUnload()">
<div id="map_canvas" style="width: 1350px; height: 800px"></div>
<div id="message"></div>
</body>
</html>
Now this is still showing the default marker... I understand why...
Now every time i try to change this
var marker = createMarker(point,htmlString);
batch.push(marker);
to
var marker = createMarker(point,htmlString,icontype);
batch.push(marker);
my map does not load at all....
My xml layout looks like this
<Row>
<Longitude>-90.5148009</Longitude>
<Latitude>37.8073797</Latitude>
<Riding_Area>Saint Joe State Park</Riding_Area>
<Address>2800 Pimville Road
Park Hills, MO 63601</Address>
<Ownership>State</Ownership>
<Date_Built><![CDATA[<a href="http://www.mototips.com">Place Holder
Link</a>]]></Date_Built>
<icontype>1</icontype>
</Row>
I know this has to be something really simple that im missing... But I
dont know what it is...
On Jun 10, 9:08 pm, mototips <[email protected]> wrote:
> I am trying to set a custom marker....
>
> I am using this code
> var myIcon = new GIcon(G_DEFAULT_ICON);
> myIcon.image = "motoicon.png";
> var markerOptions = { icon:myIcon } ;
>
> My custom marker is not showing up.
> This is my full code
> <script>
> var map;
>
> function initialize () {
> if (GBrowserIsCompatible()) {
> map = new GMap2(document.getElementById("map_canvas"));
> map.enableScrollWheelZoom();
>
> map.setCenter(new GLatLng(39.504041,-99.492187), 5);
> map.addControl(new GLargeMapControl());
> map.addControl(new GMapTypeControl());
> map.addMapType(G_PHYSICAL_MAP);
> map.setMapType(G_HYBRID_MAP);
>
> addMarkersFromXML();
>
> var myIcon = new GIcon(G_DEFAULT_ICON);
> myIcon.image = "motoicon.png";
> var markerOptions = { icon:myIcon } ;
>
> }
>
> }
>
> function addMarkersFromXML(){
> var batch = [];
> mgr = new MarkerManager(map);
>
> var request = GXmlHttp.create();
> request.open('GET', 'ridingarea1.xml', true);
> request.onreadystatechange = function() {
> if (request.readyState == 4 && request.status == 200) {
> var xmlDoc = request.responseXML;
> var xmlrows =
> xmlDoc.documentElement.getElementsByTagName("Row");
>
> for (var i = 0; i < xmlrows.length; i++) {
> var xmlrow = xmlrows[i];
>
> var xmlcellLongitude =
> xmlrow.getElementsByTagName("Longitude")[0];
> var xmlcellLatitude =
> xmlrow.getElementsByTagName("Latitude")[0];
> var point = new GLatLng(parseFloat
> (xmlcellLatitude.firstChild.data), parseFloat
> (xmlcellLongitude.firstChild.data));
>
> //get the building name
> var xmlcellRidingArea =
> xmlrow.getElementsByTagName("Riding_Area")
> [0];
> var celltextRidingArea =
> xmlcellRidingArea.firstChild.data;
>
> //get the address
> var xmlcellAddress =
> xmlrow.getElementsByTagName("Address")[0];
> var celltextAddress = xmlcellAddress.firstChild.data;
>
> //get the ownership
> var xmlcellOwnership =
> xmlrow.getElementsByTagName("Ownership")[0];
> var celltextOwnership =
> xmlcellOwnership.firstChild.data;
>
> //get the date built
> var xmlcellDateBuilt =
> xmlrow.getElementsByTagName("Date_Built")
> [0];
> var celltextDateBuilt =
> xmlcellDateBuilt.firstChild.data;
>
> var htmlString = "Riding Area: " + celltextRidingArea
> + "<br>" +
> "Address: " + celltextAddress + "<br>" + "Ownership: " +
> celltextOwnership + "<br>" + "More Info: " + celltextDateBuilt;
> //var htmlString = 'yes'
> var marker = createMarker(point,htmlString);
> batch.push(marker);
>
> }
>
> mgr.addMarkers(batch,5);
> mgr.refresh();
>
> }
> }
> request.send(null);
>
> }
>
> function createMarker(point,html) {
> var marker = new GMarker(point);
> GEvent.addListener(marker, "click", function() {
> marker.openInfoWindowHtml(html);
> });
> return marker;
>
> }
>
> </script>
>
> Here is a link to a working maphttp://www.mototips.com/sample/
> As you can see it is not showing my custom marker. What have i done
> wrong?
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---