首页 > 解决方案 > 如何使用 Leaflet Control Geocode?

问题描述

我计划在leaflet我的应用程序中添加一个控制地理编码器或一个搜索框。尽管我编写了所需的代码,但它没有显示任何地理编码器,我也不知道出了什么问题。我提供了我的index.html 文件的一部分,包括相关代码。

<link rel="stylesheet" href="{% static 'geocoder/Control.Geocoder.css' %}" />
<script type="text/javascript" src="{% static 'geocoder/Control.Geocoder.js' %}"></script>

<script>
var geocoder = L.Control.geocoder().on('markgeocode', function(event) {
     var center = event.geocode.center;
     L.marker(center).addTo(map);
     map.setView(center, map.getZoom());
}).addTo(map);
</script>

标签: javascripthtmlleafletgeocoder

解决方案


您必须设置地理编码“类型”:类型

var _geocoderType = L.Control.Geocoder.nominatim();
var geocoder = L.Control.geocoder({
   geocoder: _geocoderType
}).addTo(map);

geocoder.on('markgeocode', function(event) {
     var center = event.geocode.center;
     L.marker(center).addTo(map);
     map.setView(center, map.getZoom());
});

推荐阅读