Я разрабатываю приложение для отслеживания в реальном времени, используя ядро ASP.NET с SignalR и Google Maps JavaScript API. Мое приложение отображает маркеры и вычисленный маршрут на карте, который подключает два типа пользователей. Изменения цвета маркера (например, красный для неактивного, желтого для активного, фиолетового для отмены) на основе флагов, которые хранятся в моей собственной базе данных. На практике, после обновления, хотя позиции маркера восстанавливаются, вычислимый маршрут исчезает, и, в одном сценарии, маркер, который ранее отображался в виде желтого цвета в красный цвет, хотя база данных все еще указывает на активное состояние. Значения флага с нижним регистом, прежде чем сравнивать их в моем JavaScript. база данных. В моих контроллерах ASP.NET Core я прохожу постоянные значения для активной поездки студента, отмены поездки и последнего местоположения водителя через Viewbag. Затем, в JavaScript моего вида Razor, я заставляю эти логические флаги сзади и сравниваю их с «истинными», чтобы решить, какой значок маркера отобразить. Например, на моей студенческой панели приборной панели я инициалирую флаг таким образом: < /p>
var studentActiveTrip = ('@(ViewBag.StudentActiveTrip != null ? ViewBag.StudentActiveTrip.ToString().ToLower() : "false")' === 'true');
var studentCancelledTrip = ('@(ViewBag.StudentCancelledTrip != null ? ViewBag.StudentCancelledTrip.ToString().ToLower() : "false")' === 'true');
< /code>
Позже, при инициализации карты я проверяю эти флаги, чтобы определить правильный цвет маркера: < /p>
if (storedLat && storedLng) {
let lat = parseFloat(storedLat);
let lng = parseFloat(storedLng);
let pos = { lat: lat, lng: lng };
map.setCenter(pos);
map.setZoom(posZoom);
// Determine which icon to display based on the persisted state.
let iconUrl = "http://maps.google.com/mapfiles/ms/icons/red-dot.png";
if (studentActiveTrip) {
iconUrl = "http://maps.google.com/mapfiles/ms/icons/yellow-dot.png";
window.tripActive = true;
} else if (studentCancelledTrip) {
iconUrl = "http://maps.google.com/mapfiles/ms/icons/purple-dot.png";
window.tripActive = false;
}
window.studentMarker = new google.maps.Marker({
position: pos,
map: map,
icon: iconUrl
});
}
< /code>
Несмотря на то, что мой контроллер посылает правильное состояние (например, ActiveTrip - это правда), когда я обновляю страницу, маркер ученика возвращается к красному, а вычислимый маршрут исчезает - несмотря на то, что данные в базе данных остаются без изменений. База данных Маркер студента останется желтым, а маршрут между студентом и водителем (если местонахождение водителя будет доступно) будет повторно рассчитан и отображен.
Подробнее здесь: https://stackoverflow.com/questions/795 ... sted-state
Маршрут Google Maps исчезает на странице, несмотря на сохраняемое состояние ⇐ Javascript
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как добавить фильтр в хук Buddypress, чтобы изменить текущее сохраняемое время
Anonymous » » в форуме Php - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-