无法创建GeoJSON图层

时间:2018-02-27 14:45:22

标签: angular leaflet geojson ngx-leaflet

我正在开发一个角度的应用程序,它使用传单地图来显示一些图层,我试图使用GeoJSON,但我无法创建一个L.geoJSON图层。我试图添加一个点,我找到的每一个资源都告诉我创建这个结构:

import { geoJSON } from 'leaflet';

geoJSON({
    type: "Point",
    coordinates: [lat,long]
});

但是当我提供应用程序时,我收到此错误:

Argument of type '{ type: "Point"; coordinates: number[]; }' is not assignable to parameter of type 'GeoJsonObject'.
Object literal may only specify known properties, and 'coordinates' does not exist in type 'GeoJsonObject'.

type以外唯一的其他属性是bbox?

我确定我做错了什么,但我真的不明白。

使用

"leaflet": "^1.3.1"
"@types/leaflet": "^1.2.5"
"@asymmetrik/ngx-leaflet": "^3.0.2"

1 个答案:

答案 0 :(得分:2)

Leaflet的Typed Definition指定geoJSON factory接受GeoJSON Objectspec)作为第一个参数。

作为第一个参数传递的对象是Point类型Geometry Objectspec),它扩展了GeoJSON对象。因此,您应该通过明确将对象声明为testBuf.putDouble(0*sizeOfDouble, 1.0); testBuf.putDouble(1*sizeOfDouble, 2.0); testBuf.putDouble(2*sizeOfDouble, 3.0); testBuf.putDouble(3*sizeOfDouble, 4.0); for (int i = 0; i < numberOfDoubles; ++i) { System.out.println("testBuf[" + i + "]: " + testBuf.getDouble(sizeOfDouble*i)); } 来表现良好:

geojson.Point

JavaScript中的Leaflet实际上是accepts more types作为L.geoJSON factory的第一个参数: