带输入框的传单地理编码

leaflet geocoding with input box

我正在编写一个使用 bootstrap 的网站。我有一张传单地图。我必须使用地理编码和反向地理编码。我尝试 this 插件,但我遇到了一些问题。

1 - 我想使用地图上没有的搜索框。

我有一个输入框,它与地图的 div 不同 div。这个插件添加了一个地图控件来搜索地址。我怎样才能使用我的输入框来搜索地址?也许我必须只使用一个提供者而不是一个插件来进行地理编码。但是怎么办?

2 - 用于反向地理编码的标记的经纬度

我有一个可拖动的标记。当我停止拖动标记时,我想从标记的经纬度中获取地址。

所以,我想要一个可以免费完成所有这些工作的地理编码提供商。或者为我的目的修改插件。

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

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

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

  • X: 经度
  • Y: 纬度
  • 标签:姓名

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

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