1

Googleマップ上の15の異なるチームマーカーに画像を関連付けようとしていますが、マップ上で正しく機能していません。提案をいただければ幸いです。私のアイデアはアソシエイトです:if(location.nombreequipo == AST1){icon:imagen}ですが、このアイデアには多くの疑問があります。

function displayLocation(location){
    var content = '<strong><p>Equipo: ' +location.nombreequipo + '</strong>'
        +'</strong></p><strong><p>Hora móvil: ' + location.fecha_movil 
        + '</strong></p><strong><p>Longitud: ' +location.longitud +'</strong></p>'
        + '</strong></p><strong><p>Latitud: ' +location.latitud +'</strong></p>';
    var latLng = new google.maps.LatLng(parseFloat(location.latitud), parseFloat(location.longitud));
    var imagen ='img/blue_MarkerA.png';
    var marker = new google.maps.Marker({
        position: latLng,
        draggable: false,
        map: map,
        draggable: true,
        visible: true,
        title: location.nombreequipo
    });
    arrayMarcadores.push(marker);
    google.maps.event.addListener(marker, 'click', function(){
        infowindow.setContent(content);
        infowindow.open(map, marker);
    });
    return marker;
}

前もって感謝します。

4

2 に答える 2

1

.imagenプロパティを追加してみてくださいlocation

たとえば、を割り当てlocation.imagen = img/blue.png、次に

            var marker = new google.maps.Marker({
                position: latLng,
                draggable: false,
                ...
                icon: location.imagen
            });

ちなみにdraggable、最初はfalse、次にtrueの2つがあります。

于 2012-04-13T13:40:11.027 に答える
0

私が最終的に採用した解決策は次のとおりです。

if(location.nombreequipo=="TEAMNAME"){
    var image='img/blueMarker.png';
}
if(location.nombreequipo=="TEAMNAME2"){
    var image='img/redMarker.png';
}
function displayLocation(location){
            var content = '<strong><p>Equipo: ' +location.nombreequipo + '</strong>'
                +'</strong></p><strong><p>Hora móvil: ' + location.fecha_movil 
                + '</strong></p><strong><p>Longitud: ' +location.longitud +'</strong></p>'
                + '</strong></p><strong><p>Latitud: ' +location.latitud +'</strong></p>';
            var latLng = new google.maps.LatLng(parseFloat(location.latitud), parseFloat(location.longitud));
            var marker = new google.maps.Marker({
                position: latLng,
                map: map,
                draggable: true,
                visible: true,
                title: location.nombreequipo,
                icon: image
            });
            arrayMarcadores.push(marker);
            /*Content window asociated to created markers*/
            google.maps.event.addListener(marker, 'click', function(){
                infowindow.setContent(content);
                infowindow.open(map, marker);
            });
            return marker;
        }

ありがとう。

于 2012-04-14T21:41:23.027 に答える