HTML5地理位置信息窗口无法正常工作

时间:2018-05-26 06:12:13

标签: javascript google-maps-api-3 infowindow

我需要使用此代码创建信息窗口,我缺乏应用程序逻辑,而且编程全新我使用此open-source code

此代码将用户及其标记

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

我尝试使用info-window的基本代码

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

但是,由于我点击其他用户标记

,此代码会将所有标记变为与用户相同的名称而不是不同的名称

请帮助 Here the screenshot I took

1 个答案:

答案 0 :(得分:1)

你可以试试这个。希望这会有所帮助。

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
}