1

我正在尝试将图像与谷歌地图上的 15 个不同的团队标记相关联,我正在尝试这样做,但它在我的地图上无法正常工作,任何建议将不胜感激。我的想法是 associate: 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

Can you try adding a .imagen property to your location?

For example, assign location.imagen = img/blue.png, then

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

By the way you have two draggable, first false, then true.

于 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 回答