Snippets

Piotr Szrajber Smart M.App - Pins with labels

Created by Piotr Szrajber
// global var for holding popup objects
var POPUPS;
// sample data from your computations
var sampleData = [{
    lat: 9,
    lng: -79.3,
    txt: "Result of your computations #1"
}, {
    lat: 9.1,
    lng: -79.5,
    txt: "Result of your computations #2"
}, {
    lat: 8.9,
    lng: -78.8,
    txt: "Result of your computations #3"
}];

// add popups from the computation results
function addPopups(sampleData) {
    mainContext.switchingMapViewerAdapter.getMapAdapter().then(function(adapter) {
        var map = adapter.__map;

        map.openPopup = function(p) {
            this._popup = p;
            this.addLayer(p).fire("popupopen", {
                popup: this._popup
            });
        };

        POPUPS = sampleData.map(function(d) {
            var popup = L.popup()
                .setLatLng([d.lat, d.lng])
                .setContent(d.txt)
                .openOn(map);
            return popup;
        });
    });
}


// remove popups
function removePopups() {
    mainContext.switchingMapViewerAdapter.getMapAdapter().then(function(adapter) {
        if (!POPUPS || POPUPS.length === 0) return;
        var map = adapter.__map;
        POPUPS.forEach(function(p) {
            map.closePopup(p);
        });

    });
}

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.