0

我正在尝试创建用户输入位置的地图,但是要做到这一点,我需要将输入的城市转换为其纬度和经度。这使我可以使用 Leaflet.js 轻松地绘制它们L.marker(point).addTo(map)

给定说“伦敦”的输入,有没有办法使用 OpenStreetMap API 来获取这些值?这里很少有可用的 API 工具(根据我的研究)可以在不需要 API 密钥的情况下完成这项任务。

如果可能的话,我想避免使用谷歌地图 API,并且希望得到任何帮助,无论是 API 建议还是 OpenStreetMap 想法,因为我对 javascript 比较陌生。

提前致谢!

4

1 回答 1

0

正如评论中建议的那样,解决方案是使用提名,特别是他们的搜索查询

我最终使用 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
      ...
    });
  }
})
于 2020-05-15T20:21:29.860 回答