Я новичок в программировании, поэтому, пожалуйста, потерпите...
Поэтому я пытаюсь динамически добавлять и удалять объекты из 3dviewer OSMBuildings с помощью JavaScript.
Краткое объяснение:
Я пытался использовать метод .remove(), но безрезультатно... Затем я нашел .destroy(), но он тоже не сработал. (Почти во всех сценариях, которые я тестировал, я получаю 0 ошибок/совершенно тихий сбой, и все просто продолжается без удаления объекта.)
Затем после этого попытался использовать метод .destroy + очистку html-div, чтобы очистить всю карту и просто перезагрузить все объекты, кроме того, который я хочу удалить, но карта начинает мигать красным, когда я создаю новую (вероятно, потому, что старая не очищается полностью).
Подробное объяснение/разглагольствования:
В «документации» (https://osmbuildings.org/documentation/viewer/api) упоминается метод .remove(), который, похоже, не работает, что бы я ни пытался (я пробовал view.remove(сам объект), я пробовал использовать просмотрщик.remove('id' объекта), я попробовал object.remove() и т. д. и т. п.). Я даже просмотрел исходный код, чтобы найти:
remove(object) {
if (object.destroy) {
object.destroy()
}
}
Затем я попробовал метод object.destroy, который тоже НИЧЕГО не сделал... Я даже не получил ни одного сообщения об ошибке ни в одном из этих тестов, за исключением object.remove().
После этого я попытался использовать довольно неудовлетворительный обходной путь (как описано во второй половине моего краткого объяснения), очистив div, уничтожив карту и создав новую без объекта, который я хочу удалить. Но из-за этого новая карта просто мигает красным и появляется сбой... Затем я попытался просто удалить div и создать новый div с тем же именем, но затем OSMBuildings, похоже, вообще не находит этот div (полагаю, поскольку сообщение об ошибке не очень полезно), несмотря на то, что div определенно существует....
Я работаю с HTML, JavaScript и CSS в Windows 11 Pro, используя Chrome и Opera для тестирования своей страницы.
/>Как я могу решить эту проблему?
Я перепробовал слишком много вещей, чтобы подробно рассказать обо всех из них, но я не приложу свою текущую попытку удаления объекта.
3D Map with OSM Buildings
body {
margin: 0;
padding: 0;
}
var map = new OSMBuildings({
container: 'map3D',
position: { latitude: 53.111212, longitude: 8.857276 },
zoom: 16,
minZoom: 13,
maxZoom: 19,
attribution: '© Data OpenStreetMap © Map OSM Buildings'
});
map.addMapTiles('https://tile-a.openstreetmap.fr/hot/{z}/{x}/{y}.png');
map.addGeoJSONTiles('https://{s}.data.osmbuildings.org/0.2/59fcc2e8/tile/{z}/{x}/{y}.json');
//var for custom building
var buildings = [];
let lon = 53.111;
let lat = 8.857;
droneSize = 2;
let lat1 = lat + 0.00005;
let lon1 = lon + 0.00005;
let lat2 = lat + 0.00005;
let lon2 = lon - 0.00005;
let lat3 = lat - 0.00005;
let lon3 = lon - 0.00005;
let lat4 = lat - 0.00005;
let lon4 = lon + 0.00005;
let customBuilding = {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"height": 15,
"minHeight": 11,
"color": "#cc0000"
},
"geometry": {
"type": "Polygon",
"coordinates": [[
[lat1, lon1],
[lat2, lon2],
[lat3, lon3],
[lat4, lon4],
[lat1, lon1]
]]
}
}
]
};
//add custom building and store object in buildings array
buildings.push(map.addGeoJSON(customBuilding, { id: '1' }));
//remove custom buildings that are in array from map
for(const building of buildings) {
console.log(building);
//different tries to remove building from map
map.remove(building);
map.remove({id: '1'});
map.remove('1');
map.remove(1);
building.destroy();
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... -propperly
OSM Buildingsviewer.remove() иviewer.destroy() не работают должным образом. ⇐ Javascript
Форум по Javascript
1760206938
Anonymous
Я новичок в программировании, поэтому, пожалуйста, потерпите...
Поэтому я пытаюсь динамически добавлять и удалять объекты из 3dviewer OSMBuildings с помощью JavaScript.
[b]Краткое объяснение:[/b]
Я пытался использовать метод .remove(), но безрезультатно... Затем я нашел .destroy(), но он тоже не сработал. (Почти во всех сценариях, которые я тестировал, я получаю 0 ошибок/совершенно тихий сбой, и все просто продолжается без удаления объекта.)
Затем после этого попытался использовать метод .destroy + очистку html-div, чтобы очистить всю карту и просто перезагрузить все объекты, кроме того, который я хочу удалить, но карта начинает мигать красным, когда я создаю новую (вероятно, потому, что старая не очищается полностью).
[b]Подробное объяснение/разглагольствования:[/b]
В «документации» (https://osmbuildings.org/documentation/viewer/api) упоминается метод .remove(), который, похоже, не работает, что бы я ни пытался (я пробовал view.remove(сам объект), я пробовал использовать просмотрщик.remove('id' объекта), я попробовал object.remove() и т. д. и т. п.). Я даже просмотрел исходный код, чтобы найти:
remove(object) {
if (object.destroy) {
object.destroy()
}
}
Затем я попробовал метод object.destroy, который тоже НИЧЕГО не сделал... Я даже не получил ни одного сообщения об ошибке ни в одном из этих тестов, за исключением object.remove().
После этого я попытался использовать довольно неудовлетворительный обходной путь (как описано во второй половине моего краткого объяснения), очистив div, уничтожив карту и создав новую без объекта, который я хочу удалить. Но из-за этого новая карта просто мигает красным и появляется сбой... Затем я попытался просто удалить div и создать новый div с тем же именем, но затем OSMBuildings, похоже, вообще не находит этот div (полагаю, поскольку сообщение об ошибке не очень полезно), несмотря на то, что div определенно существует....
Я работаю с HTML, JavaScript и CSS в Windows 11 Pro, используя Chrome и Opera для тестирования своей страницы.
/>Как я могу решить эту проблему?
Я перепробовал слишком много вещей, чтобы подробно рассказать обо всех из них, но я не приложу свою текущую попытку удаления объекта.
3D Map with OSM Buildings
body {
margin: 0;
padding: 0;
}
var map = new OSMBuildings({
container: 'map3D',
position: { latitude: 53.111212, longitude: 8.857276 },
zoom: 16,
minZoom: 13,
maxZoom: 19,
attribution: '© Data [url=https://openstreetmap.org/copyright/]OpenStreetMap[/url] © Map [url=https://osmbuildings.org/copyright/]OSM Buildings[/url]'
});
map.addMapTiles('https://tile-a.openstreetmap.fr/hot/{z}/{x}/{y}.png');
map.addGeoJSONTiles('https://{s}.data.osmbuildings.org/0.2/59fcc2e8/tile/{z}/{x}/{y}.json');
//var for custom building
var buildings = [];
let lon = 53.111;
let lat = 8.857;
droneSize = 2;
let lat1 = lat + 0.00005;
let lon1 = lon + 0.00005;
let lat2 = lat + 0.00005;
let lon2 = lon - 0.00005;
let lat3 = lat - 0.00005;
let lon3 = lon - 0.00005;
let lat4 = lat - 0.00005;
let lon4 = lon + 0.00005;
let customBuilding = {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"height": 15,
"minHeight": 11,
"color": "#cc0000"
},
"geometry": {
"type": "Polygon",
"coordinates": [[
[lat1, lon1],
[lat2, lon2],
[lat3, lon3],
[lat4, lon4],
[lat1, lon1]
]]
}
}
]
};
//add custom building and store object in buildings array
buildings.push(map.addGeoJSON(customBuilding, { id: '1' }));
//remove custom buildings that are in array from map
for(const building of buildings) {
console.log(building);
//different tries to remove building from map
map.remove(building);
map.remove({id: '1'});
map.remove('1');
map.remove(1);
building.destroy();
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79788160/osm-buildings-viewer-remove-and-viewer-destroy-not-working-propperly[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия