SuperMiQi Ответов: 0

Как я могу отслеживать от мыши перемещение позиции маркера в gmap.net -что ?


Всем Привет,

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

Я надеялся получить такое событие, как маркер.OnMouseHover и возврат выбранного gmarkeritem, но это работает только тогда, когда у меня есть только один маркер с istestvisible = true;

Если у кого - то есть идея, это будет действительно полезно.
Заранее Вам большое спасибо.

С уважением.
Мики.

Что я уже пробовал:

Я попробовал следующее:

GMapControl map;
GMapMarker currentMarker = new GMapMarker((map.position);
currentMarker.IsVisible = true;
currentMarker.IsHitTestVisible = true;
top.Markers.Add(currentMarker);
map.Overlays.Add(top);

GMapMarker markerPosition = new GMapMarker(50, 50);  new location to mark/pin.
markerPosition.IsVisible = true;
markerPosition.IsHitTestVisible = true;

GMapOverlay top = new GMapOverlay("top");

top.Markers.Add(markerPosition.marker);

private void map_OnMarkerEnter(GMapMarker item)
{
  item.ToolTipMode = MarkerTooltipMode.Always;
}

private void map_OnMarkerLeave(GMapMarker item)
{
   item.ToolTipMode = MarkerTooltipMode.OnMouseOver;
}


Только маркер "currentMarker" попадает в ловушку событий, определенных выше.
Те, что были добавлены на лету, не обнаруживаются. Они правильно нарисованы, но их невозможно поймать с помощью наведения мыши / мыши мыши / щелчка мыши.

Я даже пытался использовать такой метод, как этот:

public bool isHitTest(Point pt)
{
 var position = map_.FromLatLngToLocal(point_);
 var rc = new Rectangle( LocalPosition.X, LocalPosition.Y, rectSize, rectSize);
 if (rc.Contains(pt))
   return true;

}

0 Ответов