使用输入框的leaflet地理编码

3
我正在编写一个使用Bootstrap的网站,其中包含一个Leaflet地图。我必须使用地理编码和反向地理编码。我尝试了这个插件,但是遇到了一些问题:https://github.com/smeijer/L.GeoSearch 1 - 我想要使用不在地图上的搜索框。
我有一个输入框,它在与地图不同的div中。该插件会添加一个地图控件以搜索地址。我如何使用我的输入框来搜索地址?也许我必须只使用提供程序而不是用于地理编码的插件。但是如何实现?
2 - 反向地理编码的标记器latlng
我有一个可拖动的标记。当我停止拖动标记时,我想从标记的latlng获取地址。
因此,我需要一个免费的地理编码提供程序来完成所有这些操作。或者修改插件以适应我的需求。
1个回答

3

如果您不想使用控件自己的输入和其他功能,那么应该直接使用提供程序。每个提供程序都有一个名为GetLocations的方法,它接受两个参数:

  • qry:包含搜索查询的字符串
  • callback:当提供程序可用时将调用的函数。此函数应将结果数组作为其单个参数

从外观上看,每个提供程序结果都将包含:

  • X:经度
  • Y:纬度
  • Label:名称

我自己没有使用过这个插件,但它与我的地理编码插件Leaflet Control Geocoder非常相似。

Leaflet Control Geocoder还具有您在其他问题中请求的功能:每个提供程序都有一个名为reverse的方法,它以LatLng作为参数而不是字符串查询。从快速查看中,似乎GeoSearch没有这个功能,但我可能只是错过了它。


非常感谢。您知道有什么教程可以教我如何编写自己的提供者插件吗? - user3802409
@RasimAndıran 这不算是一个教程,但是 IGeocoder 接口在这里有文档:https://github.com/perliedman/leaflet-control-geocoder#igeocoder。你还可以看一下比如 Google 地理编码实现,它相当直接:https://github.com/perliedman/leaflet-control-geocoder/blob/master/Control.Geocoder.js#L660 - Liedman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接