Mapbox.js летают в положение (работает), а затем открывают всплывающее окно правого маркера (сбой)

Поэтому я создал эту простую карту:

var map = L.mapbox.map('map', 'mapbox.streets')
    .setView([52.15, 5.5], 8);

var myLayer = L.mapbox.featureLayer().addTo(map);


// Add custom popups to each using our custom feature properties
myLayer.on('layeradd', function(e) {
    var marker = e.layer,
        feature = marker.feature;

// (stuff happens)

    marker.bindPopup(popupContent,{
        closeButton: false,
        minWidth: 500
    });
});

// the following is where it all goes wrong:

// Run easings when links are clicked
    var side = document.getElementById('map-ui');
        for (var i = 0; i < features.length; i++) {                 // for all the number of features we have
            var a = side.appendChild(document.createElement('a'));  // add a 'a' child to the side element
            a.onclick = (function(feature, i) {                     // when you click on it
                return function() {     
                    map.setView( [                          // centre the map to the appropriate coordinates
                        feature.geometry.coordinates[1],
                        feature.geometry.coordinates[0]+0.03    // +0.03 puts it a bit to the left, to make room for the tooltip
                    ],12);      

Здесь я хочу открыть всплывающее окно, но я не уверен, как вызвать правильный маркер для открытия. Для примера реальной жизни посетите сайт www.boerenmetwater.nl. Следующие четыре примера не работают:

                        //marker()[1].openPopup();
                        //map.marker[i].openPopup();
                        //t.openPopup(this);
                        //marker.openPopup();
                    }
            }
            )   
            (features[i], i);
            a.href = '#';
            a.title = 'klik om naar ' + features[i].properties.plaats + ' te gaan';
            a.innerHTML = '<div class = "menu_plaatsnaam">' + features[i].properties.plaats + '</div>';     
            a.innerHTML += '<div class = "menu_titel">' + features[i].properties.titel + '</div>';      
}

javascript,markers,

1

Ответов: 0

Mapbox.js летают в положение (работает), а затем открывают всплывающее окно правого маркера (сбой)

Поэтому я создал эту простую карту:

var map = L.mapbox.map('map', 'mapbox.streets')
    .setView([52.15, 5.5], 8);

var myLayer = L.mapbox.featureLayer().addTo(map);


// Add custom popups to each using our custom feature properties
myLayer.on('layeradd', function(e) {
    var marker = e.layer,
        feature = marker.feature;

// (stuff happens)

    marker.bindPopup(popupContent,{
        closeButton: false,
        minWidth: 500
    });
});

// the following is where it all goes wrong:

// Run easings when links are clicked
    var side = document.getElementById('map-ui');
        for (var i = 0; i < features.length; i++) {                 // for all the number of features we have
            var a = side.appendChild(document.createElement('a'));  // add a 'a' child to the side element
            a.onclick = (function(feature, i) {                     // when you click on it
                return function() {     
                    map.setView( [                          // centre the map to the appropriate coordinates
                        feature.geometry.coordinates[1],
                        feature.geometry.coordinates[0]+0.03    // +0.03 puts it a bit to the left, to make room for the tooltip
                    ],12);      

Здесь я хочу открыть всплывающее окно, но я не уверен, как вызвать правильный маркер для открытия. Для примера реальной жизни посетите сайт www.boerenmetwater.nl. Следующие четыре примера не работают:

                        //marker()[1].openPopup();
                        //map.marker[i].openPopup();
                        //t.openPopup(this);
                        //marker.openPopup();
                    }
            }
            )   
            (features[i], i);
            a.href = '#';
            a.title = 'klik om naar ' + features[i].properties.plaats + ' te gaan';
            a.innerHTML = '<div class = "menu_plaatsnaam">' + features[i].properties.plaats + '</div>';     
            a.innerHTML += '<div class = "menu_titel">' + features[i].properties.titel + '</div>';      
}
01JavaScript, маркеры,
Похожие вопросы