所以我作为初学者尝试使用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显示为一条线(它的道路数据)而不是多边形?
答案 0 :(得分:1)
Polymaps使用SVG Path来渲染Linestring。您必须将fill属性设置为none
.on("load", po.stylist()
.attr("fill", "none")