SimpleGeo Polymaps总noob LineString显示为多边形问题?

时间:2011-07-29 12:12:39

标签: javascript svg maps geojson simplegeo

所以我作为初学者尝试使用polymaps,适应午夜指挥官的例子:

var po = org.polymaps;

var map = po.map()
    .container(document.getElementById("map").appendChild(po.svg("svg")))
    .add(po.interact())
    .add(po.hash());

map.add(po.image()
    .url(po.url("http://{S}tile.cloudmade.com"
    + "/985d631542924aaa8718b9864529ae8c" // http://cloudmade.com/register
    + "/37326/256/{Z}/{X}/{Y}.png")
    .hosts(["a.", "b.", "c.", ""])));

map.add(po.compass()
.pan("none"));

我以geoJson格式在本地加载一些道路:

map.add(po.geoJson().url("mylines.geojson")); 

GeoJson样本:

{"type": "FeatureCollection", "features": [{"geometry": {"type": "LineString", "coordinates": [[-4.240532511128865, 55.891926951654455], [-4.238934645983739, 55.891956028400834]]}, "type": "Feature", "id": 6718, "properties": {"IDENTIFIER": "2602840669377", "CODE": 6140, "NAME": ""}}]}

现在显示mylines.geojson,但它不显示为一行而是显示为多边形。

我的问题是,我需要做些什么才能让Polymaps将LineString显示为一条线(它的道路数据)而不是多边形?

1 个答案:

答案 0 :(得分:1)

Polymaps使用SVG Path来渲染Linestring。您必须将fill属性设置为none

  .on("load", po.stylist()
  .attr("fill", "none")

http://www.w3.org/TR/SVG/paths.html#PathElement