如何在 django admin 中添加 leaflet-geosearch 控件

how to add leaflet-geosearch control in django admin

编程初学者,对于一个 django(2.1) 项目,我在地图上添加了一个 leaflet-geosearch 控件。它工作正常,但我需要在管理员(LeafletGeoAdmin)中拥有此控件。我完全不知道该怎么做。感谢任何可以帮助我的人。

这是我在模板中添加的内容,用于使用地理搜索控件显示地图:

... ....

<div id="leafleft_container">
{% leaflet_map "map" callback="mapInit" %}
<script type="text/javascript">
var GeoSearchControl = window.GeoSearch.GeoSearchControl;

var OpenStreetMapProvider = window.GeoSearch.OpenStreetMapProvider;

var provider = new OpenStreetMapProvider();

var searchControl = new GeoSearchControl({
 provider: provider,
 searchLabel: 'Lieu à rechercher',
 notFoundMessage: 'Non trouvé',
 retainZoomLevel: true,
 showMarker: true,
 selected: 0,
 autoClose:true,
 keepResult:true

});
var map = L.map('map');
var osmUrl='https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png';
var osmAttrib='Map data © OpenStreetMap';
var osm = new L.TileLayer(osmUrl, {attribution: osmAttrib});
map.setView({{Centrage}}, 4);
map.addLayer(osm);
map.addControl(searchControl);

... 我想在管理员中得到相同的结果,我应该在传单小部件的某处添加相同的结果,但我不知道在哪里。

一个解决方案是将传单地理搜索代码添加到 leaflet-extrajs 中,link 将传单地理搜索的 CDN 添加到 widget.html 中。 不确定这是最佳做法,但确实有效。