не работает кластеризация google maps

210
19 июля 2018, 17:10

Подключаю гугл карту, на которой расположено несколько точек, точки выводятся,но при добавлении кластеризации выводится одна точка и то кластеризация не работает. Вот код:

   var map;
    var infoWindow;
    var service;
    var pyrmont = {lat: 59.9342802, lng: 30.3350986};
    function initMap() {
        map = new google.maps.Map(document.getElementById('map'), {
            center: pyrmont,
            zoom: 10,
            styles: [{
                stylers: [{ visibility: 'simplified' }]
            }, {
                elementType: 'labels'
            }]
        });

        var myMarker = new google.maps.Marker({
            map: map
        });
        addYourLocationButton(map, myMarker);
        infoWindow = new google.maps.InfoWindow();
        service = new google.maps.places.PlacesService(map);
        // The idle event is a debounced event, so we can query & listen without
        // throwing too many requests at the server.
        map.addListener('idle', performSearch);
    }

    function performSearch() {
        var request = {
            bounds: map.getBounds(),
            keyword: 'gas_station',
            type:'gas_station'
        };
        service.radarSearch(request, callback);
    }
    function callback(results, status) {
        if (status !== google.maps.places.PlacesServiceStatus.OK) {
            console.error(status);
            return;
        }
        for (var i = 0, result; result = results[i]; i++) {
           addMarker(result);
        }

    }
    function addMarker(place) {
        var pl=place.location;
        var markers = [];
        for (var i = 0; i < 100; i++) {
            var marker = new google.maps.Marker({
                map: map,
                position: place.geometry.location,
                icon: {
                    url: 'https://developers.google.com/maps/documentation/javascript/images/circle.png',
                    anchor: new google.maps.Point(10, 10),
                    scaledSize: new google.maps.Size(10, 17)
                }
            });
            markers.push(marker);
        }
        var markerCluster = new MarkerClusterer(map, markers, {imagePath: '/public/img/clust/m'});
        google.maps.event.addListener(marker, 'click', function() {
            service.getDetails(place, function(result, status) {
                if (status !== google.maps.places.PlacesServiceStatus.OK) {
                    console.error(status);
                    return;
                }
                infoWindow.setContent('<div class="info-window-content">' + result.name+'<br/>'+ result.place_id+'<br/>'+result.geometry.location +'<br/>'+result.formatted_address+'<br/>'+result.formatted_phone_number+'<br/>'+result.price_level + '</div>');
                infoWindow.open(map, marker);
            });
        });
    }
READ ALSO
javascript: scrollTo по клику не работает после slideToggle

javascript: scrollTo по клику не работает после slideToggle

Для второго действия хочу добавить также прокрутку наверх, к элементу id=sometopid, а то после исчезновения hiddencontent оказываемся в случайной точке...

182
Что означает \ в строке JavaScript?

Что означает \ в строке JavaScript?

Что означает "\" в строке JavaScript перед символами? И как его правильно использовать?

174
Скрипт проверки формы , перед отправкой

Скрипт проверки формы , перед отправкой

скрипт, проверяет инпуты перед отправкой формы, и придает им класс error, подскажите как отредактировать чтобы этот класс добавлялся еще в блокerror-text

205
Как исправить баг анимации у Isotope filter?

Как исправить баг анимации у Isotope filter?

Недавно начал пользоваться Isotope filter для фильтрации каталогаНо когда попытался добавить к нему transition c border и transform, при переключении фильтра...

194