Я пользовался только OpenLayers. В нем есть несколько рендеров: SVG,VML,Canvas. VML в IE работает жутко медленно, пришлось набросать свой рендер, выбросив все лишнее и не используя векторную графику.
У многих есть ещё IE7 и IE8. Кроме того я не долго радовался поддержке SVG в IE9, чет глючно оно работает у меня, не стал разбиратся даже.
Думаю в долгосрочной перспективе надо что-то в корне менять (способ отображения или даже фреймворк), а пока секционирование по группам хороший выход.
Этот вариант мне не нравится. Это отдельная нагрузка на карт-сервер, кроме того, как я понимаю надо учить mapserver работать с нашей БД, да и свой код для работы с объектами это более гибко.
Юзабилити в этом случае так же теряется. К примеру, в моём случае, клиент получает список объектов с основными атрибутами которые может оперативно смотреть, просто подведя мыш, нужно больше можно кликнуть. Нужно найти объект по атрибутам в БД, тоже просто. Плюс к этому пользоваетль работает с таблицей объектов, т.е. по любому список объектов слать на клиента надо.
А если объекты будут в тайлах, со всем этим, наверно, будет посложней?
Кроме того производительность карт сервера нужна выше (кеш уже не получится использовать), т.е. больше серверов, а это никому не нужно.
Ageres дак добавьте рандомно 250, 500 и 1000 маркеров на лифлете да посмотрите устроит производительность или нет. Если нет, то группировка, группировки хитрые бывают, с параметрами и блэкджеком.
Ну у меня есть проект где я порядка 1000 объектов отображаю на лифлете точно так же с externalGraphics на сколько я помню, в ие, все начинало тормозить на стадии парсинга ajax запроса и добавления маркеров на карту. Вроде если дождаться пока протупит и распарсит то пользоваться можно было но не комфортно, с ощутимой задержкой. Но я давненько не смотрел как там дела на ишаке. Так тчто для ие просто показываем 250 маркеров.
Просто если планируете реализовывать полное взаимодействие с маркерами, тоесть драг, клик, даблклик, ховер и клик не по маркеру - есть очень высокая вероятность разнообразить запас матерных слов.
Ageres, в первом сообщении Вы много слов сказали о тех средствах, которые используете, но очень мало о задаче, которую решаете. Мы узнали лишь, что
По этому поводу я уже написал, что в отображении такого количества объектов (и даже на порядок-два большего) проблем быть не может.
После этого вдруг выясняется, что нужно
о чем в первом посте - ни гу-гу.
Тут еще и BushmanK высказал замечание, что по его мнению отображение и кликабельность как-то связаны. Изначально они никак не связаны, но эта связь может быть искусственно установлена какой-либо надстройкой. Отсюда вывод: если некоторая надстройка мешает жить, от нее нужно избавляться.
Но для этого нужно знать задачу.
Итак, что Вы хотите сделать? (безотносительно инструментов, которые думаете возможным для этого применить)
телепатия on: учет большого количества подвижных/неподвижных ресурсов. Обычно при этом заказчик желает видеть коротенький попачик с информацией при наведении мышки на объект (хотя бы название) и более подробную инфу при клике.
Некоторая информация должна быть доступна оперативно (по наведению мыши)
Несколько картографических подложек, в том числе сторонних
IE все это пережевыет слишком медленно, плюс к этому есть таблицы с информацией которые тоже обновляются…
Пока я делаю выводы что в корне изменить положение нереально (т.е. смена фреймвока и т.п.).
Реально: Секционирование при отображение, не использовать векторную графику.
Бегло посмотрел по маркерам в OpenLayers, их попробывать можно и думаю нужно, но некоторый код, например выделение объектов, придётся писать самому
Если отображение сделано маркерами, которые представляют собой отдельные элементы DOM, и на них висит событие, которое вызывает popup, то в этой реализации отображение в виде объектов и “кликабельность” технологически связаны, потому что убери маркер и щелкать будет не по чему, сам маркер (элемент отображения) участвует в, гхм, “процессе кликания”. Если для вас это не означает связь, то я не знаю, что тогда для вас может ее означать вообще.
Если отображение сделано в виде какого угодно слоя (растрового или векторного), где на его элементах никаких событий не висит, а popup вызывается по “пиксельным” координатам клика на viewport-е карты (а не по координатам маркера), и в этот popup попадает то, что вытянуто с сервера по запросу, в котором переданы координаты клика (географические), то можно хоть нафиг убрать слой с маркерами - в кликании он сам никак не участвует. Вот здесь отображение и получение информации о том, что находится по таким-то координатам не связаны вообще никак.
Ключевые слова выделены мной.
Но, как мы видим, именно в этой реализации производительность оставляет желать лучшего, причем до такой степени, которая просто не позволяет работать с необходимым количеством объектов.
А раз так - нужно менять реализацию.
А раз выбор реализации за нами - мы сами вольны решать, что с чем связывать и как именно.
Если мы собираем все изображения маркеров в одно изображение, то в этом случае у нас никакой связи между отображением и кликабельностью нет до тех пор, пока мы сами ее не сделаем.
Вот именно.
И здесь первый вопрос (с моей точки зрения*) в том, что и когда вытягивать с сервера:
что при первоначальной загрузке,
что по щелчку мыши в конкретном месте,
а что в фоне пока пользователь особо не напрягает органы управления.
а моя точка зрения исходит из того, что сам процесс отображения при таких исходных данных тормозить не может. Значит, тормоза в чем-то другом, возможно, в неоптимальной стратегии работы с сервером.
Но, увы, это опять попало за кадр, т.к. Ageres опять акцентирует внимание исключительно на процессе отображения, что для данной задачи не критично.
Увы, не обладая телепатией, я не могу сделать уровень абстракции существенно ниже того, что присутствует в постановке задачи.
Пока, исходя из имеющейся информации, смог сделать лишь один вывод: тормоза не в рендеринге, искать их следует где-то в другом месте. А в каком другом - неизвестно, т.к. ТС об этом не написал ни слова.
andriano, ТС написал вполне конкретные ключевые слова - IE и OpenLayers. Если бы вы имели опыт работы с ними, то проблемы ТС вам были бы очевидны и без телепатии. А делать выводы не имея никакого знакомства с предметом - это не очень умно.
Вот ведь интересно получается, хотя опыта работы с IE и OpenLayers я не имею, но проблемы ТС мне все равно очевидны, - неверный выбор инструментария. Наверное, Вы невнимательно читали мои сообщения, на которые отвечаете.