Смещение всплывающей подсказки: как нарисовать линию для текста? - PullRequest
0 голосов
/ 07 июня 2019

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

Это должно выглядеть примерно так:
Example

Я уже пытался нарисовать линию, используя принятый ответ на этот пост: Как нарисовать линию между двумя div? и переопределить всплывающую подсказку по умолчанию.

Примерно так:

L.ConnectedTooltip = L.Tooltip.extend({
_setPosition: function (pos) {
    L.Tooltip.prototype._setPosition.call(this, pos);
    var tooltipPoint = this._map.layerPointToContainerPoint(pos);
    var line = this.lineUtils.connectWithLine(tooltipPoint,this._container,"black",2,this);

    this._container.innerHTML += line;
}
})

Я не получил этот подход, чтобы работать должным образом, потому что добавление строки непосредственно в DOM, как в ответе, кажется, разбивает всю карту и добавление строки в контейнер, как-то усложняется, если вы используете https://github.com/bbecquet/Leaflet.RotatedMarker. Так что мой вопрос, если у вас, ребята, есть идея, как добиться такой подсказки. Может быть, отдельное svgpane просто для рисования линий?

Спасибо за ваше время!

...