首页 > 解决方案 > 如何在 django admin 中添加传单地理搜索控件

问题描述

编程初学者,对于 django(2.1) 项目,我在地图上添加了一个传单地理搜索控件。它工作正常,但我需要在管理员(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);

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

标签: django-leaflet

解决方案


一种解决方案是将leaflet-geosearch 代码添加到leaflet-extrajs 中,并将用于leaflet geo-search 的CDN 链接到widget.html。不确定这是最佳实践,但它有效。


推荐阅读