Leaflet 如何通过CartoCSS提供样式化的矢量地图数据

Leaflet 如何通过CartoCSS提供样式化的矢量地图数据,leaflet,mapbox,geojson,cartography,cartocss,Leaflet,Mapbox,Geojson,Cartography,Cartocss,我有一系列的线条和点,代表了人们的工作之旅,以及他们在哪里感到交通事故的危险 现在,这些数据具有诸如地点(家、工作、危险)和他们在不同地点担心的事故严重程度等属性。因此,更广泛的问题是如何在网络地图上可视化。为此,我有谷歌地图、传单和OpenLayers3。每一款看起来都很不错,可以进行很好的造型,但在我看来,没有一款能做到快速、复杂和直观的造型,就像下面用来创建下图的代码一样: 所以我在瓷砖厂试用了它,在通过TileMill将这些东西转换成光栅瓷砖之后 但这是一种愚蠢的方法:它不能覆盖一个基

我有一系列的线条和点,代表了人们的工作之旅,以及他们在哪里感到交通事故的危险

现在,这些数据具有诸如地点(家、工作、危险)和他们在不同地点担心的事故严重程度等属性。因此,更广泛的问题是如何在网络地图上可视化。为此,我有谷歌地图、传单和OpenLayers3。每一款看起来都很不错,可以进行很好的造型,但在我看来,没有一款能做到快速、复杂和直观的造型,就像下面用来创建下图的代码一样:

所以我在瓷砖厂试用了它,在通过TileMill将这些东西转换成光栅瓷砖之后

但这是一种愚蠢的方法:它不能覆盖一个基本层,而只在客户端提供矢量数据并对其进行样式化,可能会更有效,例如。但我无法解决如何在客户端使用可爱的CartoCSS语言来设计GeoJSON文件的样式。这怎么可能

p、 以下是我如何设计上述地图的样式

#tlines {
  line-width:1;
  line-color: #0b0;
}

#tpoints.points{
  marker-width: 6;
}


#tpoints.points[Place='Danger'] {
  marker-fill:#db0d0d;
}
#tpoints.points[Place='Home'] {
  marker-fill:#db0;
}

#tpoints.points[Severity='1']{
  marker-width: 4;}
#tpoints.points[Severity='2']{
  marker-width: 6;}
#tpoints.points[Severity='3']{
  marker-width: 10;}
我不知道如何在客户端使用可爱的CartoCSS语言来设置GeoJSON文件的样式。这怎么可能

无法使用CartoCSS为浏览器端的功能设置样式

要了解如何在Mapbox.js/sloop.js中设置GeoJSON的样式,请查看以下文档:

  • 在Mapbox.js中设置GeoJSON的样式(与在moulate.js中的工作方式完全相同,因为Mapbox.js基于moulate.js)
  • 可以使用L.mapbox.simplestyle.style将样式选项直接嵌入GeoJSON对象

Alex正确地指出,传单/Mapbox.js中的矢量样式与la Tilemill或Mapbox Studio中的CartoCSS样式不同。但是,可以使用CartoCSS在浏览器中设置功能样式;它只需要两件事中的一件:

  • 另一个平台:有一个优秀的JS库,用于使用CartoCSS设计托管数据的样式,基于传单,并与Mapbox底图完全兼容
  • 托管您自己的磁贴服务器,可以是或的组合
    如果您正在使用GeoJson作为数据源,那么可以尝试使用该插件来获取moulate.js。以类似css的格式为集合中的每个功能提供样式定义。使用此功能需要事先在geojson中添加样式定义。

    您好,谢谢您的帮助。但请更具体一点:我正在努力解释“style:function(feature){return{color:feature.properties.color};}”,我不确定如何使点的颜色取决于变量-请提供可复制的,例如我提供的数据,或者: