Информационное окно геолокации HTML5 не работает - PullRequest
0 голосов
/ 26 мая 2018

Мне нужно создать информационное окно из этого кода, мне не хватает логики приложения и совершенно нового в программировании. Я использую этот открытый исходный код

Этот код добавляет пользователейна карту вместе с их маркером

    function loadMarkers(data) {
    for(key in data) {
        var user = data[key];
        xmartlabschat.addUser(user);
        markers[key] = getMarker(user.lat, user.lng, user.name);
    }
}

Я пытался использовать базовый код для информационного окна

var infoWindow = new google.maps.InfoWindow(user.name);
markers[key].addListener('click', function(){
        infoWindowMe.open(map,markers[key);

Однако этот код превращает все маркеры в одно имя с пользователем вместодругие имена, так как я нажимаю на маркер других пользователей

Пожалуйста, помогите Вот снимок экрана, который я взял

1 Ответ

0 голосов
/ 26 мая 2018

Вы можете попробовать это.Надеюсь, это поможет.

var locations = [
['Location name', LAT, LON],
['...', ..., ...],
//...
];

var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 8,
    center: new google.maps.LatLng(LAT, LON),
    mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infowindow = new google.maps.InfoWindow();

var marker, i; 
for (i = 0; i < locations.length; i++) {
    var lat = locations[i][1];
    var lng = locations[i][2];
    marker = new google.maps.Marker({
        position: new google.maps.LatLng(lat, lng),
        map: map,
    }); // generates all the markers
    google.maps.event.addListener(marker, 'click', (function(marker, i) {
        return function() {
            zIndex: 1000;
            infowindow.setContent(locations[i][0]); // replace locations[i][0] with which data you want to show
            infowindow.open(map, marker);
        }
    })(marker, i)); // generates corresponding info-window
}   
...