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

时间:2018-10-01 09:59:06

标签: django-leaflet

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

这是我在模板中添加的内容,以便使用geosearch控件来放置地图:

...       ....

<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);

... 我想在admin中有相同的结果,我应该在传单小部件中的某处添加相同的结果,但是我不知道在哪里。

1 个答案:

答案 0 :(得分:0)

一种解决方案是将Leaflet-geosearch代码添加到leaflet-extrajs,并将CDN链接到widget.html,以进行传单地理搜索。 不确定这是最佳做法,但是否可行。