Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JS在地图上绘制边界_Javascript_Leaflet_Openstreetmap - Fatal编程技术网

Javascript 使用JS在地图上绘制边界

Javascript 使用JS在地图上绘制边界,javascript,leaflet,openstreetmap,Javascript,Leaflet,Openstreetmap,我开始使用可以生成地图的代码。我现在将OSM(OpenStreetMaps)视为一个伟大的解决方案。此外,JS使基于OSM绘制地图变得非常容易。到目前为止还不错 我希望能够画出一个县的轮廓(边界),并试图了解这个过程会是什么样子。我是先打电话找coords然后把他们传给传单,还是有更好的方法 我可以使用Namingm API获取边界,但调用方式如下: https://nominatim.openstreetmap.org/ui/search.html?state=tx&county=Le

我开始使用可以生成地图的代码。我现在将OSM(OpenStreetMaps)视为一个伟大的解决方案。此外,JS使基于OSM绘制地图变得非常容易。到目前为止还不错

我希望能够画出一个县的轮廓(边界),并试图了解这个过程会是什么样子。我是先打电话找coords然后把他们传给传单,还是有更好的方法

我可以使用Namingm 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);
我可以在传单上画出这样的面积:

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);

那么,是我想得太多了,还是它就是这样工作的?

您可以创建一个函数来获取县域几何图形并将其添加到地图中。请尝试以下代码:

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')

您可以创建一个函数来获取县城几何图形并将其添加到地图中。请尝试以下代码:

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')

哇,这看起来很棒,谢谢!我得到了以下JS错误,但不确定原因:Uncaught(承诺中)TypeError:t.addLayer不是一个函数,所以我添加了map=L.map(“mapCnty”);但还是没有运气。这是我失败的尝试:试试这个。看起来很棒,谢谢。由于该视图中的州可以脱离画布,我想我可以从完整的州视图开始,然后添加县轮廓,然后放大并居中。但这肯定是一个很好的开始!哇,这看起来很棒,谢谢!我得到了以下JS错误,但不确定原因:Uncaught(承诺中)TypeError:t.addLayer不是一个函数,所以我添加了map=L.map(“mapCnty”);但还是没有运气。这是我失败的尝试:试试这个。看起来很棒,谢谢。由于该视图中的州可以脱离画布,我想我可以从完整的州视图开始,然后添加县轮廓,然后放大并居中。但这肯定是一个很好的开始!