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]);
。