Pull to refresh
24
0
Павел @Pamarkin

User

Send message
как оказалось, рендеринг — очень быстрая штука. а все остальное — уже в кэше.
более того, я еще не сделал частичную перерисовку канваса — сейчас он при движении перерисовывается весь.
При плавном зуме канвас просто пропорционально уменьшается/увеличивается.
Сохранять размер маркера при плавной масштабировании?.. Теоретически, это надо делать в движке. Сначала просчитывать и прорисовывать переходы, а потом их показывать юзеру. Надстройкой над АПИ этого не сделать.
Хотя, я попробую)
упс… что-то с математикой после полуночи)) конечно, 450кБ
10к точек — это 350Кб. На iPad при размере карты в экран помещается 15 тайлов с подложкой (это только при начальной загрузке). каждый тайл — 30кб в среднем — уже 600кБ. Тем более, что это — только начало. Каждое движение карты — это загрузка тайлов. За один сеанс работы с картой вы загрузите никак не меньше 2Мб. Так что 350Кб — это семечки.
это жестко. при каждом движении карты делать запрос к серверу (причем запрос невозможно кэшировать), да еще и мучать mysql запросом с file sort ))
Просто у нас с Вами разные задачи. Я делаю плагин для высоконагруженных приложений с большим количетвом данных.
Спасибо за ссылку. Честно говоря, смешно, когда они называют huge amount of data какие-то 1500 точек. Мой алгоритм кластеризации попроще, но сам метод позволяет показывать больше данных.
Хотя, у нас разные задачи.
Я не фильтрую данные на клиенте. Смысл этого плагина в том, чтобы предоставить возможность просмотра результатовпоиска на карте. Скажем, на сайте недвижимости юзер выбирает параметры поиска в форме, и ему предоставляется возможность посмотреть результаты в виде списка или на карте.

З.Ы. люди могут пользоваться подходом к разработке своих сервисов. готовый плагин мне слишком сложно будет задокументировать и поддерживать.
В следующей статье — 10 опробованных подходов вывода 10000 точек на карту с картинками и работающими примерами для google api 3 и яндекс api 2.
через пару дней. сейчас надо побороть все-таки яндекс апи
Можно, согласен. Именно так я и делал в одном проекте. Можно даже сделать серверную+клиентскую кластеризацию.
То есть сами тайлы кластеризовать на сервере, а на клиенте из прореживать, чтобы маркеры на границах тайлов не «слипались».
Но затраты на серверную кластеризацию все-таки большие, хотя и ее можно кэшировать.
Дайте ссылку на Ваш проект с серверной кластеризацией.
А что за проект? Дайте ссылочку полюбоваться
упс… нашел метод load c колбэком.
сорьки
не прошел код
if (this.apiLoadAttemps == 0)
{
	$('HEAD').append($('<script>').attr({id: "ymapsapi", type: "text/javascript", src : "http://api-maps.yandex.ru/2.0/?load=package.full&mode=debug&lang=ru-RU"}));
} else if (this.apiLoadAttemps >= 5) {
	alert('Карта не может быть загружена');
	return;
};
if (!(window.ymaps && window.ymaps.Map))
{
	this.apiLoadAttemps ++;
	window.setTimeout( function() { self.initMap.call(self, options) } , 500);
} else {
	this.map = new ymaps.Map(this.container.id, {center: [ options.center.lat, options.center.lng], zoom: options.zoom});
};
с асинхронной загрузкой не все понятно.
ymaps.ready — можно легко пропустить. может, добавить ymaps.complete?
пришлось писать костыль:
if (this.apiLoadAttemps == 0)
{
$('HEAD').append($('
или как в гугле - callback на загрузку.
1. Имелся в виду класс IconStyle — «коробочный».
2. пока нет времени посмотреть, но очень хочется.
3. api.yandex.ru/maps/doc/jsapi/2.x/examples/hint.html
хинт вспывает 1 раз, потом не появляется ни на том же, ни на другом зуме. опера 11.62, хром 18.0.1025.162 m
4. на APIшник возьму что-нить из ректальнокриптографического… узнАю 146%
5. проверю вечером

не нашел функции tileCoordinates.fromPixels — ручками? )
Насчет гугла — на нем свет клином не сошелся. Просто в тот момент API у гугла был более совершенный. посмотрим как сейчас.

послал запрос на APIшник. Надеюсь увидеться.
Сегодня еще как минимум один!
поздравки))
Поздравляю всех карторазрабов!
Первое, что бросается в глаза:
1. возможность использования спрайтов для иконок маркеров
2. все также нет поддержки canvas !(( Каждая точка — 4 DOM-элемента!
3. всплывающая подсказка всплывает только один раз? (потом — тонет? opera 11.62)
4. Клатеризатор — это суперплюс. Буду его сегодня тестировать. Даже догадываюсь, кто его сделал.
5. Если работает touch — то это плюс. наконец-то.
сейчас буду ковырять
еще про яндекс:
1. каждый маркер — 3 div
2. Максимум — 200 точек во вьюпорте
3. круглые точки — без слоя с тенью. то есть когда они друг на друге — тени лежат неправильно.
4. тормозааааа
В яндексовой ссылке:
1. Маркеров мало, они крупные и не дают представления об общем количестве найденного. (можно возразить — там есть окно с указанием полного количества найденного — но это костыль)
2. Кнопка — «перестраивать результаты» — костыль
3. Количество DOM-объектов — около 2500! страница на russia.auto.ru с бОльшим количеством точек — 1600 объектов. (это всего на странице — document.all.length) — отсюда и п1 и п2
4. Маркеры пляшут и мигают

все правильно — canvas — почти все остальное (2-3% на ie <5.5 )
2

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity