Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Hover Vector Marker on Map via side menu (https://javascript.ru/forum/dom-window/68808-hover-vector-marker-map-via-side-menu.html)

atkachuk 10.05.2017 14:49

Hover Vector Marker on Map via side menu
 
Суть в чем - есть карта и на карте есть маркерыы с ниформацией (при наведении на маркер появляется описание объекта).
Идея сделать меню (слева от карты) с перечнем всех объектов при наведении на элемент в меню - на карте идет фокусировка на объекте(маркере) и hover (отображается информация).
Подскажите хотябы в какую сторону идти...
Заранее спасибо

Nexus 10.05.2017 18:01

Смотри API карт

Dilettante_Pro 11.05.2017 13:15

<script src="http://maps.google.com/maps/api/js?sensor=false"> </script>
    <script>

        var mark = [{ LatLang: { lat: 41.888014, lng: 12.482378 }, description: "Описание 1 - маркера" },
    { LatLang: { lat: 41.89616, lng: 12.484159 }, description: "Описание 2 - маркера" },
    { LatLang: { lat: 41.893445, lng: 12.483258 }, description: "Описание 3 - маркера" },
    { LatLang: { lat: 41.911132, lng: 12.48741 }, description: "Описание 4 - маркера" }
        ];
       var elem;
        function showMap() {
            var centerLatLng = { lat: 41.893445, lng: 12.483258  };
            var e = document.getElementById("map"),
            t = {
                center: centerLatLng,
                zoom: 13,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            var gmap = new google.maps.Map(e, t);
            var marker = [], infowindow=[];
            for (i = 0; i < 4; i++) {
                marker[i] = new google.maps.Marker({
                    position: mark[i].LatLang,
                    map: gmap,
                    title: mark[i].description
                });
                marker[i].setMap(gmap);

                infowindow[i] = new google.maps.InfoWindow({
                         content: mark[i].description
                });
                marker[i].id = i;
                marker[i].addListener('click', function () {
                    infowindow[this.id].open(gmap, this);
                });
                elem = document.createElement('li');
                elem.innerText = "Маркер " + (i + 1);
                elem.id = i;
                elem.addEventListener('click', function () {
                    google.maps.event.trigger(marker[+this.id], 'click');
                 });
                document.querySelector('ul').appendChild(elem);
            }
 
        };
        google.maps.event.addDomListener(window, 'load', showMap);
        

    </script>
</head>
<body>
    <div style="float: left; width: 200px; height: 400px;">
        <ul></ul>
    </div>
    <div id="map" style="float: left; width: 400px; height: 400px;">
    </div>
</body>

yiiconf2017 12.05.2017 09:31

Информация была полезна, спасибо


Часовой пояс GMT +3, время: 23:13.