如何在 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 中。
不确定这是最佳做法,但确实有效。
编程初学者,对于一个 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 中。 不确定这是最佳做法,但确实有效。