-1

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

if(data.STATUS == STATUS.SUCCESS){ 
    console.log("Markers Received"); 
    deleteMarkers(); 
    for(var i=0; i<data.DATA.length; i++){ 
     addMarker({lat: data.DATA[i].LATITUDE, lng: data.DATA[i].LONGITUDE},data.DATA[i].INCIDENT); 
    } 
} 

function deleteMarkers() { 
    clearMarkers(); 
    markers = []; 
} 

function addMarker(location,incident) { 
    var marker = new google.maps.Marker({ 
     position: location, 
     map: map, 
     title: incident 
    }); 
    markers.push(marker); 
} 

function setMapOnAll(map) { 
    for (var i = 0; i < markers.length; i++) { 
     markers[i].setMap(map); 
    } 
} 


function deleteMarkers() { 
    clearMarkers(); 
    markers = []; 
} 

function clearMarkers() { 
    setMapOnAll(null); 
} 

function showMarkers() { 
    setMapOnAll(map); 
} 

Прежде всего, я удалю все маркеры этой функцией. А затем сбросьте их. Этот вызов запускается через каждую минуту. Я хочу отображать incident, когда я нажимаю на маркер. Как я могу это достичь?

ответ

0

Надеюсь, это поможет.

var obj = { 
    infoWindow: new google.maps.InfoWindow(), 
    marker: new google.maps.Marker({ 
      map: map, 
      position: latLngObj, 
      title: 'info name' 
    }) 
}; 

google.maps.event.addListener(obj.marker, 'click', function() { 
     obj.infoWindow.setContent("<div><b>" + obj.marker.title + "(" + distance + ")</b></div>"); 
     obj.infoWindow.open(map, obj.marker); 
}); 
+0

где я могу добавить этот код? –

+0

вы можете обернуть код события в функцию и изменить его в соответствии с вашим прецедентом. Вы можете вызвать эту функцию-обертку из функции addMarker. (Отметьте ответ, если это поможет). – optimistanoop