使用 GMAP.NET for c#,如何在不调用地图 MouseClick 的情况下使用标记 OnMarkerClick?
Using GMAP.NET for c#, how do I use a marker OnMarkerClick without calling map MouseClick?
当我点击地图时,我想调出一个包含添加位置的菜单。当我点击一个标记时,我会调出另一个菜单,但它也会触发地图的 MouseClick 事件。我可以转换为仅当我在没有单击任何标记的情况下单击地图时才触发 MouseClick 吗?谢谢
首先检测到地图点击。您可以检查地图控件上的几个属性以确定您是否在地图上单击了 "something"。
void map_Click(object sender, EventArgs e)
{
Console.WriteLine("Marker hit? " + ((GMapControl)sender).IsMouseOverMarker);
Console.WriteLine("Polygon hit? " + ((GMapControl)sender).IsMouseOverPolygon);
Console.WriteLine("Route hit? " + ((GMapControl)sender).IsMouseOverRoute);
}
如果您发现点击,只需不显示地图菜单并继续在标记等的适当点击处理程序中处理点击。
当我点击地图时,我想调出一个包含添加位置的菜单。当我点击一个标记时,我会调出另一个菜单,但它也会触发地图的 MouseClick 事件。我可以转换为仅当我在没有单击任何标记的情况下单击地图时才触发 MouseClick 吗?谢谢
首先检测到地图点击。您可以检查地图控件上的几个属性以确定您是否在地图上单击了 "something"。
void map_Click(object sender, EventArgs e)
{
Console.WriteLine("Marker hit? " + ((GMapControl)sender).IsMouseOverMarker);
Console.WriteLine("Polygon hit? " + ((GMapControl)sender).IsMouseOverPolygon);
Console.WriteLine("Route hit? " + ((GMapControl)sender).IsMouseOverRoute);
}
如果您发现点击,只需不显示地图菜单并继续在标记等的适当点击处理程序中处理点击。