Удалить другой маркер, когда я нажимаю на текущий маркер - PullRequest
0 голосов
/ 09 ноября 2018

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

var locations = [
        [
        "Location 1",
         "215 West Girard Avenue 19123",
        "39.9695601",
        "-75.1395161"
        ],
        [
        "Location 2",
        "5360 Old York Road 19141",
        "40.034038",
        "-75.145223"
        ],
        [
        "Location 3",
        "1350 W Girard Avenue 19123",
        "39.9713524",
        "-75.1590360"
        ]
        ];
gmarkers = [];

var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 12,
    center: new google.maps.LatLng(39.9995601, -75.1395161),
    mapTypeId: google.maps.MapTypeId.ROADMAP
});

var infowindow = new google.maps.InfoWindow();


function createMarker(latlng, html) {
    var marker = new google.maps.Marker({
        position: latlng,
        map: map
    });

    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(html);
        infowindow.open(map, marker);
    });
    return marker;
}

for (var i = 0; i < locations.length; i++) {
 alert(locations[i][0]);
    gmarkers[locations[i][0]] =
    createMarker(new google.maps.LatLng(locations[i][2], locations[i][3]), locations[i][0] + "<br>" + locations[i][1]);
}

1 Ответ

0 голосов
/ 12 ноября 2018

Вы можете поместить этот код в свой цикл for!

for (var i = 0; i < locations.length; i++) {

        markerd[i] = new google.maps.Marker({
                position: mark_1,
                map: map,
                zIndex: i
        });
        google.maps.event.addListener(markerd[i], 'click', function() {
                        for (i = 0; i < markerd.length; i++) {
                            if (this.index != i){
                                markerd[i].setMap(null);
                                markerp[i].setMap(null);
                                line[i].setMap(null);
                            }
                        }
        });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...