@maxsmart

Как отобразить список меток на карте?

Есть карта с метками. В метках название балуна и описание. Хочу чтобы рядом с картой был список этих меток с названиями. И чтобы при клике на метку из списка открывался балун самой метки на карте. Как это можно реализовать?

Вот код:
<script type="text/javascript">
function init() {
    var myMap = new ymaps.Map('map', {
            center: [55.734046, 37.588628],
            zoom: 9,
            controls: ['zoomControl', 'typeSelector',  'fullscreenControl']
        });
    
    var objects = ymaps.geoQuery()

<?php  

    while (($result = mysql_fetch_array($address))) 
    
    { 
    
      print_r (".add(ymaps.geocode('$result[0]',{results:1}))\n"); 
    
    } 
      
    ?>
    
        .addToMap(myMap);
    
    var balloons = [<?php $myrow = mysql_query("SELECT cartime FROM data WHERE fio='$fio' AND carmodel='$carmodel' AND cardate='$cardate'"); while (($myrowresult = mysql_fetch_array($myrow))) { print_r ("'$myrowresult[0]', "); } ?>], i = 0;
    var balloonsfooter = [<?php $myrow2 = mysql_query("SELECT address FROM data WHERE fio='$fio' AND carmodel='$carmodel' AND cardate='$cardate'"); while (($myrowresult2 = mysql_fetch_array($myrow2))) { print_r ("'$myrowresult2[0]', "); } ?>], i = 0;
    objects.then(function () {
        objects.get(0).balloon.open();
        for(var i = 0, len = objects.getLength(); i < len; i++) {
             objects.get(i).properties.set('iconContent', i + 1, 'results', '1');
             objects.get(i).properties.set('balloonContentBody', balloons[i]);
             objects.get(i).properties.set('balloonContentFooter', balloonsfooter[i]);
             
        }
    });
}

ymaps.ready(init);
</script>

<div id="map"/>
  • Вопрос задан
  • 4254 просмотра
Пригласить эксперта
Ответы на вопрос 2
Gasoid
@Gasoid
надо использовать javascript,

а на пхп сгенерировать array для яваскрипт с параметрами меток
чтобы получилось типа:
point_array = [{address:"Адрес1"}, {address:"Адрес2"} и т.д.]

дальше используем либо кластер если много меток или добавляем циклом через яваскрипт
Ответ написан
@H2Otik
Тут Ваш ответ
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы