2016-08-01 32 views
-1

Ich weiß nicht was, aber ich möchte benutzerdefinierte Marker anzeigen, und es wird nicht angezeigt.Marker Google Maps

Brauchen Sie Hilfe bitte.

Vielen Dank.

Das ist mein Js:

var locations = [ 
     ['Homexpo', 44.89589669999999, -0.5713743999999679, 3], 
     ['Biganos', 44.640044, -0.9629101000000446, 2], 
     ['Siege social', 44.8864352, -0.6952949999999873, 1] 
    ]; 

    var map = new google.maps.Map(document.getElementById('ggmap-offre'), { 
     zoom: 9, 
     center: new google.maps.LatLng(44.89589669999999, -0.5713743999999679), 
     scrollwheel: false, 
     draggable: false, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }); 

    for (var i = 0; i < locations.length; i++) { 
     var marker = new google.maps.Marker({ 
     position: new google.maps.LatLng(locations[i][1], locations[i][2]), 
     map: map 
     }); 
    } 

    var marker = { 
     url: "http://www.verywell-web.com/sanem/img/pin-ggmap.png", 
     size: new google.maps.Size(31, 40), 
     anchor: new google.maps.Point(31, 20) 
    }; 
    var optionsMarqueur = { 
     position: centreCarte, 
     map: maCarte, 
     icon: marker 
    } 
    var marqueur = new google.maps.Marker(optionsMarqueur); 
+0

Hallo, können Sie weitere Informationen über den Code zur Verfügung stellen, und was ist der Fehler in der Konsole zeigen? –

+0

Zunächst vielleicht einige Fehler, die in der Konsole angezeigt werden? – mamosek

+0

Dies ist der Link: http://www.pier17.fr/maison-sanem/contactez-nous/ – Pierre

Antwort

2

können Sie versuchen, dieses tun

Add Funktion AddMarker namens

function addMarker(marker){ 
    var markerImage = { 
     url: "http://www.verywell-web.com/sanem/img/pin-ggmap.png", 
     size: new google.maps.Size(31, 40), 
     anchor: new google.maps.Point(31, 20) 
    }; 

    var marker = new google.maps.Marker({ 
     position: new google.maps.LatLng(marker[1], marker[2]), 
     icon: markerImage, 
     map: map 
    }); 
} 

Und dann

var map = new google.maps.Map(document.getElementById('ggmap-offre'), { 
    zoom: 9, 
    center: new google.maps.LatLng(44.89589669999999, -0.5713743999999679), 
    scrollwheel: false, 
    draggable: false, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}); 

var locations = [ 
     ['Homexpo', 44.89589669999999, -0.5713743999999679, 3], 
     ['Biganos', 44.640044, -0.9629101000000446, 2], 
     ['Siege social', 44.8864352, -0.6952949999999873, 1] 
    ]; 

for(var i = 0, locations; loc = locations[i];i++){ 
      addMarker(loc); 
} 
+0

Das ist gut. Ich danke dir sehr. Andere Frage, ich möchte auf der ersten Ansicht alle Marker zu maskieren, und wenn ich auf adresse (auf der linken Seite in der Website) klicken, möchte ich den Marker anzeigen. Haben Sie eine Lösung dafür? – Pierre

+0

Sie müssen Ereignis-Listener hinzufügen, wenn Sie auf diese Adresselemente klicken und dann die AddMarker-Methode ausführen. Sie können das Element lat und lng in Datenattributen (z. B. data-lng, data-lat) halten. Sie sollten auch eine Logik erstellen, um die Karte auf die hinzugefügte Markierung zu zentrieren. – mamosek

+0

Hast du einen typischen Code dafür, um es mir zu erklären. Es tut mir wirklich leid, Sie zu stören ... aber ich bin wirklich wirklich wirklich in js und Google Maps API verloren .. :( – Pierre

0

Sie sollten das Symbol Stil in der for-Schleife zuweisen.

Versuchen Sie es.

var image = { 
    url: 'http://www.verywell-web.com/sanem/img/pin-ggmap.png', 
    size: new google.maps.Size(31, 40), 
    anchor: new google.maps.Point(31, 20) 
} 

for (var i = 0; i < locations.length; i++) { 
    var marker = new google.maps.Marker({ 
    position: new google.maps.LatLng(locations[i][1], locations[i][2]), 
    map: map, 
    icon: image 
    }); 
}