2009-11-14 3 views
0

Je ne suis pas un gourou javascript, j'ai donc besoin d'une main pour ajouter une icône personnalisée à certaines google maps javascript.Ajout d'une icône personnalisée à une carte google

Code ci-dessous pour votre référence.

Toutes les bonnes choses P

function populateMap() { 
var map = new GMap2(document.getElementById("map")); 
map.setCenter(new GLatLng(55.915832522285235, -3.5911989212036133), 10); 
map.setUIToDefault(); 



var points = new Array(5); 

    points[1] = [55.992602,-3.92968,'<div class="infoContainer"><h2><a href="#">Mayfield Drive, Longcroft, Bonnybridge<\/a><\/h2><p class="address">{locations_address}<\/p><\/div>']; 



    points[2] = [55.9471382,-3.9729174,'<div class="infoContainer"><h2><a href="#">Oakwood Cumbernauld<\/a><\/h2><p class="address">{locations_address}<\/p><\/div>']; 



    points[3] = [55.933873,-3.12406,'<div class="infoContainer"><h2><a href="#">Wauchope Square, Edinburgh<\/a><\/h2><p class="address">{locations_address}<\/p><\/div>']; 



    points[4] = [55.843728,-3.95258,'<div class="infoContainer"><h2><a href="#">Gibb Street, Chapelhall<\/a><\/h2><p class="address">{locations_address}<\/p><\/div>']; 



    points[5] = [55.854559,-4.000543,'<div class="infoContainer"><h2><a href="#">Paddock Street, Sikeside<\/a><\/h2><p class="address">{locations_address}<\/p><\/div>']; 




for(var i=1; i < points.length; i++) { 
    var point = new GLatLng(points[i][0],points[i][1]); 
    var windowInfo = points[i][2]; 
    var marker = createMarker(point,windowInfo); 
    map.addOverlay(marker); 
} 
} 

    function createMarker(point, overlayText) { 
var marker = new GMarker(point); 
GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(overlayText);}); 
return marker; 
} 

    function addLoadEvent(func) { 
var oldonload = window.onload; 
if (typeof window.onload != 'function') { 
    window.onload = func; 
} else { 
    window.onload = function() { 
    if (oldonload) { 
    oldonload(); 
    } 
    func(); 
    } 
} 
} 

addLoadEvent(populateMap); 

Répondre

0
+0

Merci J'ai regardés ceux-ci, mais pas trop sûr où je suis d'intégrer le var MyIcon = new GICON (G_DEFAULT_ICON); dans mon code. C'est là que j'ai besoin d'aide. Merci – mathalete

+1

Lorsque vous créez une instance de GMarker, vous pouvez passer un deuxième paramètre, GMarkerOptions. Sa propriété 'icon' contiendra votre GIcon personnalisé. Il est clairement écrit dans un exemple de code dans les documents officiels de l'API Maps: http://code.google.com/apis/maps/documentation/overlays.html#Custom_Icons – Dmitry

2

Aucun des pages de l'API Google Maps semblent travailler, mais cela peut aider tout organisme problème similaire

// Create our "tiny" marker icon 
var centreicon = new GIcon(); 
centreicon.constructor 
centreicon.image = "http://maps.google.com/mapfiles/kml/pal3/icon31.png "; 
centreicon.shadow = "http://maps.google.com/mapfiles/kml/pal3/icon31s.png "; 
centreicon.iconSize = new GSize(12, 20); 
centreicon.shadowSize = new GSize(22, 20); 
centreicon.iconAnchor = new GPoint(6, 20); 
centreicon.infoWindowAnchor = new GPoint(5, 1); 

....... y notre code pour créer la carte puis

  var marker = new GMarker(point, centreicon); 

      map.addOverlay(marker); 
Questions connexes