Pergunta

Estou tentando personalizar os ícones desenhados pelo objeto Gdirections. Eu tenho uma lista de coordenadas Lat Long que eu uso para construir um caminho. No entanto, não consigo encontrar nenhuma maneira de personalizar (ou mesmo desligar) os marcadores que são colocados automaticamente pela API.

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

Chamando route.getPolyline().hide() esconde o caminho, mas não os marcadores. Chamando route.getMarker(1).isHidden() Retorna verdadeira e obviamente escondendo isso não muda nada. Essa funcionalidade não é suportada pela API? Estou usando o mapa API 2.81

Foi útil?

Solução

Experimente 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top