使用 Leaflet.js 将用户输入的位置添加到 OpenStreetMap

Add a user inputted location to OpenStreetMap using Leaflet.js

我正在尝试创建用户输入位置的地图,但是为此我需要将输入的城市转换为它们的纬度和经度。这使我可以使用 L.marker(point).addTo(map)

使用 Leaflet.js 轻松绘制它们

鉴于 "London" 的输入,有没有办法使用 OpenStreetMap API 来获取这些值? 这里有很少的 API 工具可以完成这项任务(根据我的研究)而不需要 API 密钥。

我想尽可能避免使用 google 地图 API,希望得到任何帮助,无论是 API 建议还是 OpenStreetMap 的想法,因为我对 javascript.

提前致谢!

按照评论中的建议,解决方案是使用提名,特别是他们的search queries

我最终使用 jQuery 的 getJson 函数从 API 中获取数据,如下所示。

$(function () {
  geocoding = function (city, country) {
    var url = `https://nominatim.openstreetmap.org/search?city=${city}&country=${country}&format=json`
    $.getJSON(url, function (data) {
      //data is the JSON string
      lat = data[0].lat
      lon = data[0].lon
      ...
    });
  }
})