0
我与OpenStreetMap的和的OpenLayers web应用程序的工作。
现在我想要做的是什么线之上已经显示的标签,类似下面:我所做的使用JavaScript渲染与某个给定的点在地图上的一条线,像下面的屏幕截图是
我不知道我怎样才能通过JavaScript实现这一点,我无法找到任何有用的参考文件。任何人都有这样做之前请分享一些经验。
谢谢!OpenStreetMap的地图添加标签
我与OpenStreetMap的和的OpenLayers web应用程序的工作。
现在我想要做的是什么线之上已经显示的标签,类似下面:我所做的使用JavaScript渲染与某个给定的点在地图上的一条线,像下面的屏幕截图是
我不知道我怎样才能通过JavaScript实现这一点,我无法找到任何有用的参考文件。任何人都有这样做之前请分享一些经验。
谢谢!OpenStreetMap的地图添加标签
尝试用样式标签创建不透明(或零宽度)的点。这是我的建议,基于Labeled Features Example。 (我现在没有可能测试它,所以请小心)。
第一:创建新载体层(如造型设置可能会与行的当前层干扰)隐形点和一些参数风格:
var vectorLayer = new OpenLayers.Layer.Vector("Labeled points", {
styleMap: new OpenLayers.StyleMap({'default':{
// should be invisible, if not, set opaque
strokeWidth: 0,
pointRadius: 0,
// label may have \n linebreaks
label : "${label}",
fontColor: "${fontColor}",
fontSize: "12px",
fontFamily: "Courier New, monospace",
fontWeight: "bold",
labelAlign: "${align}",
labelXOffset: "${xOffset}",
labelYOffset: "${yOffset}",
labelOutlineColor: "white",
labelOutlineWidth: 3
}})
});
二:这里是你如何创建功能,以给定的参数( $ {参数}):
var newLabeledPoint = new OpenLayers.Geometry.Point(-101.04, 35.68);
var newLabeledFeature = new OpenLayers.Feature.Vector(newLabeledPoint);
newLabeledFeature .attributes = {
label: "Line 1",
fontColor: 'blue',
align: "cm",
// positive value moves the label to the right
xOffset: 50,
// negative value moves the label down
yOffset: -15
};
最后:vectorLayer.addFeatures([newLabeledFeature]);
。