2

在我的 Openlayers 地图中,我试图将比例文本 (OpenLayers.Control.Scale) 移动到地图外的 div 中,但它不起作用。我可以让鼠标控制工作,但不是规模。

Javascript:

map.addControl(
new OpenLayers.Control.Scale({
        div: scale
    })
);

HTML:

<div id="statusbar">
        <div id="coords" class="innerstatusbar"></div>
        <div id="scale" class="innerstatusbar"></div>
        <div id="output" class="innerstatusbar"></div>
        <div id="blank" class="outerstatusbar"></div>
        <div id="something" class="innerstatusbar">Something</div>
    </div>  
4

1 回答 1

1

尝试

map.addControl(
new OpenLayers.Control.Scale(
        'scale'
    )
);

它将 DOM-Elements ID 作为不带大括号的字符串。如果你想添加测地线属性,你可以这样写:

map.addControl(
new OpenLayers.Control.Scale(
        'scale',
        {geodesic: true}
    )
);

我也为此苦苦挣扎,仍然认为有时将参数放入构造函数中的方式很奇怪:D

于 2017-09-21T12:29:58.127 回答