Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Google Map - удаление невидимых маркеров 
:(
    Опции темы
svch
  Дата 11.12.2008, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 10.4.2006

Репутация: нет
Всего: нет



Добрый день !
Подскажите пож-та, кто занимался Google Map.
Задача:
на карте Москвы показать маркеры. Нажимаешь на маркер - показывается подсказка.

При решении задачи оказалось, что маркеров довольно много и их надо подгружать из базы. При передвижении по карте подгружать новые маркеры.

Решение, которое мне не подходит:

Код

        GEvent.addListener(map, "moveend", function() 
        {
                    var center = map.getCenter();
                    new_center = center.toString();

                    GDownloadUrl("map.asp?karta=" + new_center, function(doc) {
                        var xmlDoc = GXml.parse(doc);
                        var markers = xmlDoc.documentElement.getElementsByTagName("marker");
                        map.clearOverlays();
                        for (var i = 0; i < markers.length; i++) {
                            var lat = parseFloat(markers[i].getAttribute("lat"));
                            var lng = parseFloat(markers[i].getAttribute("lng"));
                            var point = new GLatLng(lat,lng);
                            var marker = createMarker(point);
                            map.addOverlay(marker);
                        }
                    });
        }


Смысл данного кода в том, чтобы очистить карту и нанести на нее новые маркеры вокруг нового центра карты. Код работает, но есть одно большое НО:
если чел нажал на маркер и ему выскочило окно подсказки, то при передвижении по карте это окно исчезнет благодаря
Код

map.clearOverlays();


И из этого вытекает главный вопрос:
как сделать, чтобы при передвижении по карте для освобождения памяти стирались невидимые маркеры и при этом не пропадало открытое инфо-окно ?
Честно говоря, я не сильно понимаю JS синтаксис да и сам язык ...
Попытался сделать следующее:
- при клике на маркер в переменную записываю его координаты
- при передвижении по карте в цикле формирования маркеров (тот, что выше)  отслеживаю, есть ли у кого-нить такие координаты, и, если есть, показать снова закрытое инфо-окно

Но у меня почему-то это окно, причем с нужным содержимым показывается совсем на другом маркере. И при таком решении карта будет автоматом двигаться, чтоб показать это инфо окно, если оно вылезает за пределы (а мне это не надо). Думаю, надо как-то сделать цикл по всем маркерам и смотреть их координаты. Если координаты за пределами карты - маркер удалить.

Кто-нибудь знает, как можно реализовать что-то такое ?
Буду очень признателен за помощь.

С уважением, Сергей.
PM MAIL   Вверх
svch
Дата 12.12.2008, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 10.4.2006

Репутация: нет
Всего: нет



Никто не работал с картами Google ?

С уважением, Сергей.
PM MAIL   Вверх
DumpEX
Дата 5.2.2009, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 16.12.2007

Репутация: нет
Всего: нет



А какие инфоокна-то используете?
Стандартные openInfoWindow или доп. библиотеки? Это же самое главное.
PM MAIL   Вверх
solenko
Дата 6.2.2009, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 9
Всего: 67



svch, посмотрите на MarkerManager. Также можно использовать kml с NetworkLink (привер -- викимапия)


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0618 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.