2012-04-18 91 views
0

對於產生谷歌地圖我調用該函數displayLocation下一個代碼標記:只顯示第一和路徑最後一個標記

for (var i=0; i<data.length; i++) { 
    displayLocation(data[i]); 
} 

在displayLocation我創建一個數組與我想的路徑上的所有位置創建和標記,我只想顯示路徑上的第一個和最後一個標記。 我displayLocation功能看起來像:

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; 
      } 

在我設置路徑的這部分代碼,我呼籲:

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

而且功能:

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); 
} 
} 

上的標記迭代array:

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

有什麼建議嗎? 謝謝。

+0

在你的代碼的某個部分,你用'setMap()'設置路徑和標記。你能告訴我們嗎? – 2012-04-18 09:42:59

+0

好吧,我看到你的更新,但我的意思是你使用'for'來迭代'arrayMarcadores'的部分。在這部分中,您可以使用第一個和最後一個元素,例如'arrayMarcadores [0]'和'arrayMarcadores [arrayMarcadores.length - 1]'。 – 2012-04-18 09:57:16

+0

對不起,我忘了那部分,謝謝你的幫助。 – lfergon 2012-04-18 10:01:14

回答

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); 
    }); 
} 

非常感謝你幫我清除我的腦海裏有我的這部分代碼:)

相關問題