Ребята, я пытаюсь сделать это в приложении django: моя идея проста: показать карту с маркером, который показывает положение МКС. Каждую секунду маркер должен двигаться, потому что данные меняются. Я знаю, что могу сделать это, вызвав API ISS в Javascript, но я хотел бы вызвать данные из моего представления с помощью модуля python render. Таким образом, я хотел бы обновить мой вид без обновления страницы. Мой взгляд:
def ISS(request):
r =requests.get("https://api.wheretheiss.at/v1/satellites/25544").json()
pos = {
"latitude": r["latitude"],
"longitude": r["longitude"]
}
return render(request, 'blog/pos_iss.html', locals())
и мой шаблон:
<div id="mapid"></div>
<style type="text/css">
#mapid {
height: 500px;
}
</style>
<script type="text/javascript">
const attribution = '© <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors';
const TileUrl = 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
const tiles = L.tileLayer(TileUrl, { attribution });
const lat = {{ pos|get:"latitude"|stringformat:"f" }}; //update here
const long = {{ pos|get:"longitude"|stringformat:"f" }};
const mymap = L.map('mapid').setView([lat, long], 4);
tiles.addTo(mymap)
function getISS() {
var marker = L.marker([lat, long]).addTo(mymap);
}
getISS();
</script>
Я бы хотел, чтобы широта и долгота обновлялись каждую секунду. Я думаю, что-то можно сделать с Ajax, но я не знаю как.
Это мой первый запрос в стеке, не стесняйтесь дать мне совет, чтобы быть более понятным.
Спасибо!