使用 LeafletJS 在地图上绘制边界

我开始使用可以生成地图的代码。我现在认为 OSM (OpenStreetMaps) 是一个很好的解决方案。LeafletJS还使得基于OSM绘制地图变得非常容易。到目前为止,一切都很好。


我希望能够画出一个县的轮廓(边界),并试图了解这个过程会是什么样子。我是先打电话寻找坐标,然后将它们传递到传单中还是有更好的方法?


我可以使用 Nominatim API 获取边界,但调用如下:


https://nominatim.openstreetmap.org/ui/search.html?state=tx&county=Lee

我可以在传单中绘制区域,如下所示:


var polygon = L.polygon([

    [51.509, -0.08],

    [51.503, -0.06],

    [51.51, -0.047]

]).addTo(mymap);

那么,是我想多了,还是事情就是这样?


慕容森
浏览 164回答 1
1回答

蓝山帝景

您可以创建一个函数来获取县几何形状并将其添加到地图中。尝试以下代码:function drawCountyBoundary(county, state){    url = `https://nominatim.openstreetmap.org/search.php?county=${county}&state=${state}&polygon_geojson=1&format=jsonv2`    fetch(url).then(function(response) {    return response.json();  })  .then(function(json) {    geojsonFeature = json[0].geojson;    L.geoJSON(geojsonFeature).addTo(map);  });}drawCountyBoundary('Lee', 'Tx')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript