【问题标题】:leaflet draw hexagon by geojson传单通过geojson绘制六边形
【发布时间】:2013-12-25 05:54:54
【问题描述】:

我正在使用 geojson 数据(传单库)绘制多边形。

代码 -

 var myPlic = {
            "type": "Polygon",
            "coordinates":  [
                [47.98, 55.52],
                [50.36, 56.55],
                [51.76, 55.92],
                [53.17, 56.31],
                [54.31, 55.77],
                [53.34, 54.97],
                [53.52, 54.16],
                [51.59, 54.57],
                [50.71, 54.31],
                [48.86, 54.87],
                [47.81, 54.67],
                [47.98, 55.52]
            ]
        };
        try{L.geoJson(myPlic, {
            style: {
                color: '#AAAAFF',
                weight: 4
            }
        }).addTo(map);
        }
        catch(e){
            console.log(e);
        }

问题 - 控制台输出 -

错误:无效的 LatLng 对象:(NaN, NaN)

throw new Error('Invalid LatLng object: (' + lat + ', ' + lng + ')');

请帮忙。谢谢。

附:如果我使用 5 个坐标就可以了。而且这个坐标的 LineString 也没有问题,但是 Polygon 不起作用。

【问题讨论】:

    标签: polygon leaflet geojson


    【解决方案1】:

    如果有人要寻找答案,前面的代码中缺少 [ ]

    {
      "geometry": {
        "coordinates": [[
          [47.98, 55.52],
          [50.36, 56.55],
          [51.76, 55.92],
          [53.17, 56.31],
          [54.31, 55.77],
          [53.34, 54.97],
          [53.52, 54.16],
          [51.59, 54.57],
          [50.71, 54.31],
          [48.86, 54.87],
          [47.81, 54.67],
          [47.98, 55.52]
          ]],
        "type": "Polygon"
      }
    }
    

    【讨论】:

      【解决方案2】:

      您没有传递有效的 GeoJSON 特征/特征集合对象。一个有效的特征对象应该是这样的:

      {
          type: "feature",
          geometry: {
              "type": "Polygon",
              "coordinates":  [
                  [47.98, 55.52],
                  [50.36, 56.55],
                  [51.76, 55.92],
                  [53.17, 56.31],
                  [54.31, 55.77],
                  [53.34, 54.97],
                  [53.52, 54.16],
                  [51.59, 54.57],
                  [50.71, 54.31],
                  [48.86, 54.87],
                  [47.81, 54.67],
                  [47.98, 55.52]
              ]
          }
      }
      

      见GeoJSON规范@http://geojson.org/geojson-spec.html

      【讨论】:

      • 不工作。 Error: Invalid LatLng object: (NaN, NaN) throw new Error('Invalid LatLng object: (' + lat + ', ' + lng + ')');
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-19
      • 2023-04-01
      相关资源
      最近更新 更多