Pregunta

Estoy tratando de personalizar los iconos dibujados por el objeto GDirections. Tengo una larga lista de coordenadas de latitud que utilizo para construir un camino. Sin embargo, no puedo encontrar ninguna manera de personalizar (o incluso apagar) los marcadores que se colocan de forma automática por la API.

var map;
map = new GMap2(document.getElementById("map_canvas"));
.... //get the path coordinates
var route = new GDirections(map);
route.load(path_coordinates);

Llamando route.getPolyline().hide() esconde el camino, pero no los marcadores. Llamando vuelve route.getMarker(1).isHidden() verdadera y, obviamente, ocultándolo no cambia nada. Se esta funcionalidad no es compatible con la API? Estoy usando un mapa api 2,81

¿Fue útil?

Solución

Prueba este código:

var map;
map = new GMap2(document.getElementById("map_canvas"));
.... //get the path coordinates
var route = new GDirections(map);
route.load(path_coordinates);
GEvent.addListener(route , "addoverlay", hideDirMarkers); 
function hideDirMarkers(){ 
        var numMarkers = route.getNumGeocodes() 
        for (var i = 0; i < numMarkers; i++) { 
                var marker = route.getMarker(i); 
                if (marker != null) 
                        marker.hide(); 
                else 
                        alert("Marker is null"); 
        } 
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top