2013-03-05 3 views
1

Я хочу, чтобы иметь возможность нарисовать круг на карте, и при рисовании его радиус этого круга появляется над кругом или что-то в этом роде. Я хочу, чтобы он изменился, когда я нарисую круг, чтобы увидеть этот радиус. Любой способ сделать это в openlayers?В openlayers.js есть способ отображения радиуса круга при рисовании этого круга?

ответ

0

Одним из способов было бы создал MapToolTip

я сделал тот, который следует за мышью вокруг на положении смещенной. В основном это div с абсурдным стилем позиции, который обновляется на mousemove.

tooltip

Мой код:

var MyAPP = MyAPP || {}; 

MyAPP.MapToolTip = function (position, text) { 

    var content = '<div id="tool_tip" class="dropSheet ui-corner-all"><span id="info_window_text">' + text + '</span></div>'; 

    var toolTip = $(content).hide().appendTo('div#wrapper div#content_wrapper'); 
    toolTip.IsVisible = false; 

    var mouseMove = function (e) { 

     if (toolTip.IsVisible) { 
      toolTip.fadeIn() 
     } 
     toolTip.css('top', e.clientY + 30); 
     toolTip.css('left', e.clientX + 30); 
     toolTip.IsVisible = true; 
    }; 

    this.Destroy = function() { 
     MyAPP.UI.Map.getMap().events.unregister("mousemove", MyAPP.UI.Map.getMap(), mouseMove); 
     toolTip.IsVisible = null; 
     toolTip.fadeOut(); 
     toolTip.remove(); 
     content = null; 
     toolTip = null; 
     mouseMove = null; 
    }; 

    MyAPP.UI.Map.getMap().events.register("mousemove", MyAPP.UI.Map.getMap(), mouseMove); 

    return; 

}; 
.dropSheet { 
    background-color: #000000; 
    background-image: none; 
    opacity: 0.6; 
} 
div#info_window { 
    color: White; 
    font-family: Verdana,Arial; 
    font-size: 0.6em; 
    left: 490px; 
    padding: 6px; 
    position: absolute; 
    top: 100px; 
    width: 220px; 
    z-index: 99; 
} 
Смежные вопросы