Как добавить больше маркеров на карту листовки - PullRequest
1 голос
/ 06 июня 2019

Я хочу добавить массив адресов и преобразовать их в координаты, создать маркеры для каждого из них и добавить их на карту, попробовать итерационные циклы, но это не работает, не могли бы вы помочь мне?вот код:

var map = L.map('map').setView([17.0812861,-96.805772], 13);

L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
    attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>',
    subdomains: ['a', 'b', 'c']
}).addTo(map);

var planes = [
    ["Prolongación de Xicoténcatl, 68120 Oaxaca de Juárez, MX"],
    ["Av Belisario Domínguez 428, 68050 Oaxaca de Juárez, MX"],
    ["C820B6"]
];
for (var i = 0; i < planes.length; i++) {

    planes[i]=provider.search({
        query: planes[i]
    });
}

for (i = 0; i < value.length; i++) {
    query.then(value => {
        for (i = 0; i < value.length; i++) {
            // Success!
            var x_coor = value[i].x;
            var y_coor = value[i].y;
            var label = value[i].label;
            var marker = L.marker([y_coor, x_coor]).addTo(map).on('click', markerOnClick); 
            marker.bindPopup("<b>Found location</b><br>" + label).openPopup(); // note the "openPopup()" method. It only works on the marker
        };
    }, reason => {
        console.log(reason); // Error!
    });
}

И этот скрипт работает с одним маркером:

var map = L.map('map').setView([17.0812861,-96.805772], 13);

L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
    attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>',
    subdomains: ['a', 'b', 'c']
}).addTo(map);

var query_addr = "Prolongación de Xicoténcatl 1031, 68120 , MX";

const provider = new window.GeoSearch.OpenStreetMapProvider();
var query_promise = provider.search({
    query: query_addr
});


query_promise.then(value => {
    for (i = 0; i < value.length; i++) {
        // Success!
        var x_coor = value[i].x;
        var y_coor = value[i].y;
        var label = value[i].label;
        var marker = L.marker([y_coor, x_coor]).addTo(map) 
        marker.bindPopup("<b>Found location</b><br>" + label).openPopup();     };
    }, reason => {
        console.log(reason); 
    }
);

Я новичок в JS и Laravel, я новичок в программировании и мне очень нравится учиться,Пожалуйста, если вы могли бы поддержать меня, я буду очень благодарен, я нахожу это интересным jaavscript

...