Я передал информацию из mongoDB с помощью mongoose в мой файл ejs.Отсюда я пытаюсь перебрать данные через функцию addMarker, которая извлекает данные с тегом <% =%> и добавляет их на карту Google.
Я проверил значения, напечатав их и их «typeof» на консоли, и они показывают, что они правильные (число, число, строка) и правильное значение.Поэтому я предполагаю, что либо способ передачи значений недопустим, либо теги <% =%> меняют тип переменной.Я также попытался использовать теги <% - и <% </p>
ejs
<script>
function initMap(){
//Map Options to dictate zoom and position
var options = {
zoom: 16,
center: {lat:35.6543936, lng: -97.4714266}
}
//init map for view
var map = new google.maps.Map(document.getElementById('map'), options);
/*var marker = new google.maps.Marker({
position:{lat: 35.654243, lng: -97.472937 },
map: map,
title: 'Math And Computer Science'
});*/
//addMarker({coords:{lat:35.6543936, lng: -97.4714266}, title: "TestCase"});
//addMarker({coords:{lat:35, lng: -97}, title: "TestCase2"});
<% for (const location of results) { %>
addMarker({coords:{lat: <%=location.lat %>, lng: <%=location.lng%> }, title: <%=location.title%> } );
<%= console.log(location.lat) %>
<%= console.log(typeof location.lat) %>
<%= console.log( location.title) %>
<% } %>
//Add Marker Function
function addMarker(props){
var marker = new google.maps.Marker({
position: props.coords,
map:map,
title: props.title
})
}
}
</script>
Так что я прокомментировал тесты addMarker:
//addMarker({coords:{lat:35.6543936, lng: -97.4714266}, title: "TestCase"});
//addMarker({coords:{lat:35, lng: -97}, title: "TestCase2"});
, которые оба работают какпредназначена.Когда я запускаю addMarker в моем цикле, карта отображается, но на карте не отображаются маркеры.