Мне нужен совет и информация по моей проблеме ниже:
У меня есть 2 с HTML-кодом, как показано ниже:
MARKER 1
MARKER 2
Затем у меня есть объявление и функция JS, как показано ниже:
var osm = L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 20,
attribution: '© OpenStreetMap'
});
var map = L.map('map', {
center: [-6.1500736, 106.8860524],
zoom: 15,
layers: [osm]
});
var latlong1 = [-6.1500155,106.8856884];
var latlong2 = [-6.1500736,106.8860524];
var marker1 = L.marker(latlong4).addTo(map);
var marker2 = L.marker(latlong5).addTo(map);
marker1.bindPopup("B 8461 UKF");
marker2.bindPopup("B 8436 UQK");
const clsOpenMarker = document.querySelectorAll(".btnOpenMarker");
// Fungsi Open Marker
for(let btom = 0;btom < clsOpenMarker.length; btom++)
{
let om = clsOpenMarker[btom]
om.onclick = function() {
alert ("YOU PRESS BUTTON " +$(om).attr("data-role"));
map.setView(latlong1,17);
marker1.openPopup();
}
};
Обратите внимание только в этом коде:
map.setView(latlong1,17);
marker1.openPopup();
Я хочу обобщить переменные latlong1, latlong2, а также маркер1, маркер2 в этом цикле. Это может быть массив маркеров и массив latlong. Но я не знаю, как это объявить.
Должен ли я создать новый атрибут в своем? например
ПРОБЛЕМА ЗАКРЫТЬ
Наконец-то я нашел решение этой проблемы. Спасибо, что вдохновили меня!
var locations = [
["B 8394 UCR", -6.5731745,107.9491852],
["B 8910 UGC", -6.6658733,107.4420729],
["B 8264 UCW", -6.1500155,106.8857884],
["B 8461 UKF", -6.1500155,106.8856884],
["B 8436 UQK", -6.1500736,106.8860524],
];
for (var i = 0; i < locations.length; i++) {
marker = new L.marker([locations[1], locations[2]])
.bindPopup(locations[0])
.addTo(map);
}
const clsOpenMarker = document.querySelectorAll(".btnOpenMarker");
// Function Open Marker
for(let btom = 0;btom < clsOpenMarker.length; btom++)
{
let om = clsOpenMarker[btom]
om.onclick = function() {
var index = $(om).attr("data-role");
map.setView([locations[index][1], locations[index][2]],17);
marker.openPopup([locations[index][1], locations[index][2]]);
}
};
Подробнее здесь: https://stackoverflow.com/questions/790 ... ore-simply
Как проще отображать несколько переменных в JS? ⇐ Jquery
Программирование на jquery
-
Anonymous
1728538090
Anonymous
Мне нужен совет и информация по моей проблеме ниже:
У меня есть 2 с HTML-кодом, как показано ниже:
[url=#]MARKER 1[/url]
[url=#]MARKER 2[/url]
Затем у меня есть объявление и функция JS, как показано ниже:
var osm = L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 20,
attribution: '© OpenStreetMap'
});
var map = L.map('map', {
center: [-6.1500736, 106.8860524],
zoom: 15,
layers: [osm]
});
var latlong1 = [-6.1500155,106.8856884];
var latlong2 = [-6.1500736,106.8860524];
var marker1 = L.marker(latlong4).addTo(map);
var marker2 = L.marker(latlong5).addTo(map);
marker1.bindPopup("B 8461 UKF");
marker2.bindPopup("B 8436 UQK");
const clsOpenMarker = document.querySelectorAll(".btnOpenMarker");
// Fungsi Open Marker
for(let btom = 0;btom < clsOpenMarker.length; btom++)
{
let om = clsOpenMarker[btom]
om.onclick = function() {
alert ("YOU PRESS BUTTON " +$(om).attr("data-role"));
map.setView(latlong1,17);
marker1.openPopup();
}
};
Обратите внимание только в этом коде:
map.setView(latlong1,17);
marker1.openPopup();
Я хочу обобщить переменные latlong1, latlong2, а также маркер1, маркер2 в этом цикле. Это может быть массив маркеров и массив latlong. Но я не знаю, как это объявить.
Должен ли я создать новый атрибут в своем? например
[b]ПРОБЛЕМА ЗАКРЫТЬ[/b]
Наконец-то я нашел решение этой проблемы. Спасибо, что вдохновили меня!
var locations = [
["B 8394 UCR", -6.5731745,107.9491852],
["B 8910 UGC", -6.6658733,107.4420729],
["B 8264 UCW", -6.1500155,106.8857884],
["B 8461 UKF", -6.1500155,106.8856884],
["B 8436 UQK", -6.1500736,106.8860524],
];
for (var i = 0; i < locations.length; i++) {
marker = new L.marker([locations[i][1], locations[i][2]])
.bindPopup(locations[i][0])
.addTo(map);
}
const clsOpenMarker = document.querySelectorAll(".btnOpenMarker");
// Function Open Marker
for(let btom = 0;btom < clsOpenMarker.length; btom++)
{
let om = clsOpenMarker[btom]
om.onclick = function() {
var index = $(om).attr("data-role");
map.setView([locations[index][1], locations[index][2]],17);
marker.openPopup([locations[index][1], locations[index][2]]);
}
};
Подробнее здесь: [url]https://stackoverflow.com/questions/79070931/how-to-display-multiple-variables-in-js-more-simply[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия