маркеры карты Google - то же местоположение - PullRequest
1 голос
/ 06 июня 2019

над наложением маркеров на карту Google, когда местоположения совпадают.

с использованием карт Google для отображения поездки клиента.если путь A -> B -> C, но A и C находятся в одном и том же месте, то маркер C накладывается на маркер A, и мне нужно, чтобы они кластеризовались или добавили какой-либо вид заполнения маркеров, чтобы мы могли видеть оба маркера.

enter image description here

function initMap(){
    var directionsService = new google.maps.DirectionsService;
    var directionsDisplay = new google.maps.DirectionsRenderer;
    var map = new google.maps.Map(document.getElementById('map'), {
       zoom: 7
  });

  directionsDisplay.setMap(map);
    calculateAndDisplayRoute(directionsService, directionsDisplay);
}





function calculateAndDisplayRoute(directionsService, directionsDisplay) {


    var waypts = [];
            var waypoints = $('#waypoints > li');
            for (var i = 0; i < waypoints.length; i++) {
              if( i == 0 || i == waypoints.length - 1){
                continue;
              }
              var temp = waypoints[i];
                waypts.push({
                  location: waypoints[i].innerHTML,
                  stopover: true
                });

            }


        directionsService.route({
                                    origin: $('#origin').text(),
                                    destination: $('#destination').text(),
                  waypoints: waypts,
                                    travelMode: google.maps.TravelMode.DRIVING
                                    }, function (response, status) {
                                    if (status === google.maps.DirectionsStatus.OK) {
                                        directionsDisplay.setDirections(response);
                                    }
                  else{
                            $("#map").html( "<img src='/images/error.png' id='maperror'/>" );
                                    }
                                });
}

function update_counts() {
    var url = base_url + '/ajax/FDM_global_booking/getcounts/';
  $.ajax({
        url:    url,
                    dataType: "text json",
                    data: { bookings_type: $('#current-filter-type').val() },
                    type: 'POST',
                    beforeSend: function(xhr){
                        xhr.setRequestHeader( 'agent_id', agentId );
                        xhr.setRequestHeader( 'account_ref', accountRef);
                        xhr.setRequestHeader( 'agent_token', agentToken );
                    },
                    success: function(data) {
                        // We are on the booking list page
                        if(data != '') {
              $('.left-panel').html(data);
                        }
                    }
    });
}

Я бы хотел реализовать кластер Google, однако после тестирования он не пытается решить мою проблему, вместо этого он создает кластери затем при увеличении в кластере остается и никогда не открывается, так как маркеры все еще находятся на том же месте.

1 Ответ

0 голосов
/ 20 июня 2019

Хорошо, чтобы решить проблемы API Google с маркерами и местоположениями, мне пришлось создать собственные маркеры.Сначала я сделал маркеры, чтобы были начальный маркер, промежуточный и конечный маркер.при создании маркеров я обнаружил, что маркеры Google центрированы по ширине изображения.поэтому, делая маркеры, я убедился, что центр изображения был одинаковым для всех трех.

enter image description here

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

Причина использования пользовательских маркеров заключается в том, что мы используем карты Google для составления маршрутов, пикапов, высадки и отслеживания водителей.Когда-нибудь путешествие будет ожиданием и возвращением, а это означает, что начало работы также является окончанием.и на карте Google это отображается с CB в исходном изображении поста.

это итоговая карта:

enter image description here

Я настроил, однако, я удалил ключ Google, просто добавьте свой собственный или ключ Google Dev, чтобы проверить его.
codepen <-click here

вот еще один какМне пришлось внедрить мой код в наши сайты для клиентов, и он немного отличается.
codepen <-click there

Я надеюсь, что это кому-то поможет, так как это было утомительно длязаставить все это работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...