Portekoi Posté 10 Janvier 2010 Posté 10 Janvier 2010 Bonsoir, Je chercher à afficher un marqueur déplacable mais qui n'apparaitrait que si je clique sur un lien. J'ai essayé ceci : function createMarkerDragable (point,icon) { var marker = new GMarker(point,{draggable:true, icon:icon}); map.addOverlay(marker); marker.enableDragging(); GEvent.addListener(marker, "dragstart", function() { map.closeInfoWindow(); }); GEvent.addListener(marker, "dragend", function() { marker.openInfoWindowHtml("X:"+marker.getPoint().lat()+"<br /> Y: "+marker.getPoint().lng()); //markerDragend(marker, 1); }); } var icon2 = new GIcon(); icon2.image = "http://labs.google.com/ridefinder/images/mm_20_green.png"; icon2.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png"; icon2.iconSize = new GSize(12, 20); icon2.shadowSize = new GSize(22, 20); icon2.iconAnchor = new GPoint(6, 20); icon2.infoWindowAnchor = new GPoint(5, 1); createMarkerDragable (center,icon2); Cela fonctionne mais je voudrais soit le cacher pour le réafficher avec un lien, soit l'afficher directement avec le lien... Une solution? Portekoi
captain_torche Posté 10 Janvier 2010 Posté 10 Janvier 2010 Tu ne peux pas appeler cette fonction dans un onclick ? $('#ton_bouton').click(function() { createMarkerDragabl(arg1, arg2));});
Portekoi Posté 10 Janvier 2010 Auteur Posté 10 Janvier 2010 Re, Le souci est que je dois le spécifier le centre de la carte mais la personne peut très bien déplacé la map... Le but étant de pouvoir enregistrer une nouvelle adresse. Et je m'en sors pas Portekoi
Portekoi Posté 10 Janvier 2010 Auteur Posté 10 Janvier 2010 Re, C'est bon, le marqueur s'affiche... Maintenant, j'aimerais qu'il n'y en ait qu'un seul qui s'affiche sur la map car là, à chaque clique, il m'en ajoute un Et je dois pouvoir le cacher ou le réafficher... Une idée? Portekoi
Portekoi Posté 10 Janvier 2010 Auteur Posté 10 Janvier 2010 On peut pas mettre un ID sur un marker pour ne supprimer que celui que l'on veut?
Portekoi Posté 10 Janvier 2010 Auteur Posté 10 Janvier 2010 Bon, j'ai mis mon script en ligne parce que je suis bloqué : />http://www.portekoi.com/Map/ j'ai les bonnes coordonnées pour supprimer le marqueur mais rien y fait...
Portekoi Posté 10 Janvier 2010 Auteur Posté 10 Janvier 2010 Re, j'ai trouvé. il suffit de déclarer un tableau en global puis de le remplir à la création du marqueur. Cela permet en plus de supprimer un type de marqueur et pas TOUS les marqueurs de la map en question. Trop bien Je mets mon code si ca peut aider : var gmarkers = []; function createMarkerDragable (point) { //Bouton_Marker.disabled=true //alert('1'); //alert(document.getElementById('SaveCoordLat').value); if(document.getElementById('SaveCoordLat').value != 0){ //var OldPoint = new GLatLng(document.getElementById('SaveCoordLat').value,document.getElementById('SaveCoordLng').value); /* var oldmarker = new GMarker(new GLatLng(document.getElementById('SaveCoordLat').value, document.getElementById('SaveCoordLng').value)); map.removeOverlay(oldmarker); */ for (var i=0; i<gmarkers.length; i++) { map.removeOverlay(gmarkers[i]); } //alert(new GLatLng(document.getElementById('SaveCoordLat').value, document.getElementById('SaveCoordLng').value)); /*alert(document.getElementById('SaveCoordLat').value); alert(document.getElementById('SaveCoordLng').value); */ } var marker = new GMarker(map.getCenter(),{draggable:true}); gmarkers.push(marker); map.addOverlay(marker); marker.enableDragging(); GEvent.addListener(marker, "dragstart", function() { map.closeInfoWindow(); }); GEvent.addListener(marker, "dragend", function() { marker.openInfoWindowHtml("X:"+marker.getPoint().lat()+"<br /> Y: "+marker.getPoint().lng()); }); } Portekoi qui s'entraide tout seul
Patrick Posté 11 Janvier 2010 Posté 11 Janvier 2010 Arf ! Juste ce qu'il me fallait. Bon je file ça à mon dev dès demain ! Merci m'sieur ! ++ Patrick, légèrement opportuniste sur ce coup-là !
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant