You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#1 2010-12-22 22:42:24

siberiano
Moderator
From: Novosibirsk
Registered: 2010-02-25
Posts: 1,006
Website

Обсуждение OpenLayers

К опытным пользователям вопрос: почему когда я включаю какой-то базовый слой, слой ОСМ, который скрыт, продолжает подгружаться? На своём сайте заметил такой эффект. Посмотрите вот так, загляните в инспектор загрузок: там грузятся тайлы мапника, tilesX.openstreetmap.org, хотя слой скрыт. Из-за этого трафик картинок удваивается, всё грузится очень тормозно.

Last edited by siberiano (2010-12-22 22:46:26)

Offline

#2 2010-12-22 23:18:28

vvoovv
Moderator
Registered: 2008-03-04
Posts: 2,262

Re: Обсуждение OpenLayers

Подключаю вот так и указанный эффект не наблюдаю:

var osm = new OpenLayers.Layer.OSM("OpenStreetMap");
map.addLayer(osm);

Offline

#3 2010-12-23 00:56:03

siberiano
Moderator
From: Novosibirsk
Registered: 2010-02-25
Posts: 1,006
Website

Re: Обсуждение OpenLayers

Хм, похоже это глюк только Хрома. В остальных броузерах всё нормально.

Offline

#4 2010-12-28 18:44:16

siberiano
Moderator
From: Novosibirsk
Registered: 2010-02-25
Posts: 1,006
Website

Re: Обсуждение OpenLayers

Выяснил, в чём дело.

Подключаем несколько слоёв в карту. Потом, допустим, расшифровываем печенюшку со слоями (пока контрол ArgParser не научился сам их читать)

for (var i = map.layers.length - 1; i >= 0; i -= 1) {
    var layer = map.layers[ i]
    if (layer.layerCode) {
        layer.setVisibility(layerConfig.indexOf(layer.layerCode) != -1)
    }
    else {
        layer.setVisibility(false);
    }
}

(базовые слои оставим за скобками пока). Так вот, в map.layers последний элемент - это невидимый служебный слой, который если отключить, всё поедет криво. И лишние тайлы грузятся, и при запуске ничего не показывается. Убрал else, все проблемы исчезли.

Last edited by siberiano (2010-12-28 18:45:02)

Offline

Board footer

Powered by FluxBB