Написание функции JavaScript в моделях Django
Я хотел бы получить длинные переменные lat из моего models.py, который выглядит примерно так:
from django.db import models
from django.core.validators import MaxValueValidator, MinValueValidator
class Marker(models.Model):
latitude = models.FloatField(
validators=[MinValueValidator(-90), MaxValueValidator(90)],
)
longitude = models.FloatField(
validators=[MinValueValidator(-180), MaxValueValidator(180)],
)
И добавить их в строку myLatLng в JavaScript
function initMap() {
const myLatLng = { lat: -25.363, lng: 131.044 };
const map = new google.maps.Map(document.getElementById("map"), {
zoom: 4,
center: myLatLng,
});
new google.maps.Marker({
position: myLatLng,
map,
title: "Hello World!",
});
}
пример кода здесь:
https://developers.google.com/maps/documentation/javascript/examples/marker-simple
Я хотел бы создать маркер на странице администратора и отобразить его на карте
Лучшим подходом будет создание view.py и template.
Ссылка на представления на основе классов: https://docs.djangoproject.com/en/3.2/topics/class-based-views/.
вы можете передать данные в файл шаблона.
В шаблоне переменные выглядят следующим образом:
{{ object.latitude }}
{{ object.longitude }}
Таким образом, ваш Javascript будет выглядеть так:
function initMap() {
const myLatLng = { lat: {{ object.latitude }}, lng: {{ object.longitude }} };
const map = new google.maps.Map(document.getElementById("map"), {
zoom: 4,
center: myLatLng,
});
new google.maps.Marker({
position: myLatLng,
map,
title: "Hello World!",
});
}