За последние 24 часа нас посетили 68763 программиста и 1561 робот. Сейчас ищут 1195 программистов ...

Как автоматически закрыть открытый маркер в кластере google maps

Тема в разделе "JavaScript и AJAX", создана пользователем marsik, 31 май 2017.

  1. marsik

    marsik Активный пользователь

    С нами с:
    30 дек 2008
    Сообщения:
    246
    Симпатии:
    17
    Приветствую.
    Сабж.
    Код (Javascript):
    1.       function initialize() {
    2.         var center = new google.maps.LatLng(47.609519, 12.852459);
    3.  
    4.         var map = new google.maps.Map(document.getElementById('map'), {
    5.           zoom: 7,
    6.           center: center,
    7.           mapTypeId: google.maps.MapTypeId.ROADMAP
    8.         });
    9.        
    10.         var infowindow = new google.maps.InfoWindow({
    11.         content: ''
    12.     });
    13.    
    14.         var markers = [];
    15.         for (var i = 0; i < 100; i++) {
    16.         var dataPhoto = data.photos[i];
    17.      
    18.         var baloon = '<div><strong>'+dataPhoto.photo_title+'</strong><br>'+dataPhoto.photo_url+'</div>'
    19.         var marker = add_markers(dataPhoto.longitude, dataPhoto.latitude, baloon);
    20.         markers.push(marker);
    21.         }
    22.         var markerCluster = new MarkerClusterer(map, markers, {imagePath: '../images/m'});
    23.       }
    24.      
    25.  
    26.       function add_markers(lng, lat, box_html) {
    27.      
    28.         var infowindow = new google.maps.InfoWindow({
    29.         content: box_html
    30.     });
    31.      
    32.           var latLng = new google.maps.LatLng(lat, lng);
    33.           var marker = new google.maps.Marker({
    34.             position: latLng
    35.           });
    36.          
    37.    
    38.     marker.addListener('click', function() {
    39.     infowindow.close(); //не работает
    40.     infowindow.open(map, marker);
    41.     });
    42.     return marker;
    43. }  
    44.  
    45.       google.maps.event.addDomListener(window, 'load', initialize);
    Пожалуйста, подскажите новичку как без добавления функций удаления всех маркеров и новой прорисовки, удалить ранее открытый маркер, infowindow.close() - не удаляет. Код не мой, нагуглил))
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.866
    Симпатии:
    753
    Адрес:
    Татарстан
    https://developers.google.com/maps/documentation/javascript/markers?hl=ru
     
  3. marsik

    marsik Активный пользователь

    С нами с:
    30 дек 2008
    Сообщения:
    246
    Симпатии:
    17
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.866
    Симпатии:
    753
    Адрес:
    Татарстан
    а что айс?
     
  5. marsik

    marsik Активный пользователь

    С нами с:
    30 дек 2008
    Сообщения:
    246
    Симпатии:
    17
    Ответ ваш логичен только по заголовку не читая самого кода, зачем спрашивается я выложил код и указал, что infowindow.close(); - не срабатывает, по коду же видно, что нужно закрыть ранее открытый маркер и открыть новый маркер

    Код (Javascript):
    1.  marker.addListener('click', function() {
    2.     infowindow.close(); //не работает
    3.     infowindow.open(map, marker);
    4.     });
     
  6. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.866
    Симпатии:
    753
    Адрес:
    Татарстан
    1. infowindow - это не маркер
    2. зачем писать заголовок поста не совпадающий с вопросом?
    не очень понятно - зачем его закрывать и тут же открывать?
     
  7. marsik

    marsik Активный пользователь

    С нами с:
    30 дек 2008
    Сообщения:
    246
    Симпатии:
    17
    не айс, давайте по делу, если вы себя считаете спецом по кластерам и не кластерам google maps, я сам пока пару часов потратил на ознакомление, поэтому могу ошибаться в терминах, обозначая закрытие инфоокна маркера маркером ))
     
  8. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    оффтоп небольшой с Вашего позволения.. недавно делал проект в который надо было подключить карты для визуальной аналитики данных... так что сравнивал несколько дней Яндекс карты и гугл карты.. выиграли Яндекс карты как по качеству документации - так и по более интуитивному коду.. но это мое глубокое ИМХО))
     
  9. marsik

    marsik Активный пользователь

    С нами с:
    30 дек 2008
    Сообщения:
    246
    Симпатии:
    17
    Приходится переделывать с Яндекс на Гугл по причине того, что ресурс рассчитан на Украину, а там вроде как Яндекс недавно заблокировали))
     
    denis01 нравится это.
  10. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    ну как бы и сказать больше нечего))