2012-04-18 10 views
0

にちょうど最初と最後のマーカーを表示するためにGoogleマップ上でマーカーを生成しますマーカーを作成して、最初のマーカーと最後のマーカーをパスに表示したいだけです。マイdisplayLocation機能がどのように見える :は、私は次のコードで関数displayLocationを呼び出すパス

varBool = true; 
dibujaRutaAST1(map, rutaAST1, varBool); 

と機能は次のとおりです:私はパスを設定し、コードのこの部分で

function displayLocation(location){ 
       var latLng = new google.maps.LatLng(parseFloat(location.latitud), parseFloat(location.longitud)); 
       if(location.nombreequipo=="AST1"){ 
        var path = new google.maps.LatLng(parseFloat(location.latitud), parseFloat(location.longitud)); 
        rutaAST1.push(path); 
       } 

       var marker = new google.maps.Marker({ 
        position: latLng, 
        map: map, 
        icon: imagen, 
        draggable: false, 
        visible: true, 
        title: location.nombreequipo 
       }); 
       arrayMarcadores.push(marker); 
       google.maps.event.addListener(marker, 'click', function(){ 
        infowindow.setContent(content); 
        infowindow.open(map, marker); 
       }); 
       return marker; 
      } 

、私は呼んマーカー上

var ruta = null; 
function dibujaRutaAST1(mapa, rutaVar, varBool){ 
if(!ruta){ 
    var coordRuta = rutaVar; 
    console.log("En función dibujo de rutas AST1: "+rutaVar); 
    ruta= new google.maps.Polyline({ 
     map: mapa, 
     path: coordRuta, 
     geodesic: true, 
     strokeColor: "#FF0000", 
     strokeOpacity: 1.0, 
     strokeWeight: 3 
    }); 
    console.log(ruta); 
}if(varBool){ 
    ruta.setMap(mapa); 
}else{ 
    ruta.setMap(null); 
} 
} 

反復アレイ:

function mostrarMarcas(nombreEquipo){ 
       for(var i=0;i<arrayMarcadores.length;i++){ 
        if(arrayMarcadores[i].title==nombreEquipo){ 
         arrayMarcadores[i].setVisible(true); 
        } 
       } 
      } 

何か提案がありますか?おかげさまで

+0

あなたのコードのある部分では、 'setMap()'でパスとマーカーを設定します。私たちを見せてもらえますか? –

+0

あなたのアップデートを見ましたが、 'arrayMarcadores'で反復するために' for 'を使う部分を意味します。この部分では、 'arrayMarcadores [0]'や 'arrayMarcadores [arrayMarcadores.length - 1]'のような最初と最後の要素を使うことができます。 –

+0

申し訳ありませんが、私はその部分を忘れています、あなたの助けをありがとう。 – lfergon

答えて

0

最後に私はすべての点で私の配列の最初と最後のマーカーを作成します。

if(rutaAST1.length!=0){ 
    dibujaRutaAST1(map, rutaAST1, varBool); 
    var imagen ='img/markers/blue_MarkerA.png'; 
    var markerIniAST1 = new google.maps.Marker({ 
     position: rutaAST1[0], 
     map: map, 
     icon: imagen, 
     draggable: false, 
     visible: true, 
     title: "AST1" 
    }); 
    google.maps.event.addListener(markerIniAST1, 'click', function(){ 
     infowindow.setContent(contentAST1[0]); 
     infowindow.open(map, markerIniAST1); 
    }); 
    var markerFinAST1 = new google.maps.Marker({ 
     position: rutaAST1[rutaAST1.length-1], 
     map: map, 
     icon: imagen, 
     draggable: false, 
     visible: true, 
     title: "AST1" 
    }); 
    google.maps.event.addListener(markerFinAST1, 'click', function(){ 
     infowindow.setContent(contentAST1[contentAST1.length-1]); 
     infowindow.open(map, markerFinAST1); 
    }); 
} 

は、私のコードのこの部分で私の心をクリアするために私を助けてどうもありがとうございます:)

関連する問題