У меня есть форма с картой Geo django Leaflet на моей странице.
Чего я хочу добиться, так это то, что после нажатия где-нибудь на карте я получаю широту и долготу из этого местоположения, чтобы чем хранить это в моей форме. Код в форме уже заботится о размещении маркера на карте.
Я не могу найти место, где я нажал.
forms.py
class PlacesForm(forms.ModelForm):
required_css_class = 'required'
place = forms.PointField( required=False,
widget=LeafletWidget())
class Meta():
model = Places
форма. html
var markers = [];
var layerGroup = new L.layerGroup();
$.fn.setMap = function(map) {
console.log(layerGroup);
layerGroup.clearLayers();
//$(".leaflet-marker-icon").remove(); $(".leaflet-popup").remove();
if( $("#id_latitude").val() && $("#id_longitude").val() ) {
map.setView([$("#id_latitude").val(), $("#id_longitude").val()], 18);
markers = L.marker([$("#id_latitude").val(), $("#id_longitude").val()]).addTo(layerGroup);
if( $("#id_radius").val() ) {
L.circle([$("#id_latitude").val(), $("#id_longitude").val()], {radius: $("#id_radius").val()}).addTo(layerGroup);
}
layerGroup.addTo(map);
}
}
$(document).ready(function() {
// Store the variable to hold the map in scope
var map;
var markers;
$(window).on('map:init', function(e) {
map = e.originalEvent.detail.map;
$.fn.setMap(map);
});
$("#id_latitude").on("change", function () {
$.fn.setMap(map);
});
$("#id_longitude").on("change", function () {
$.fn.setMap(map);
});
$("#id_radius").on("change", function () {
$.fn.setMap(map);
});
$('#id_place-map').on("click", function(e) {
//var lat = e.latlng;
//var lng = e.latlng;
console.log(e);
});
});
</script>
Если я загляну в консоль, то не смогу найти ничего, что смогу использовать. Я вижу только текущие параметры карты. Я хочу установить переменные lat и lng, которые сейчас закомментированы.
У кого-нибудь есть идея?