- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
IsMouseOverMarker
属性检测点击标记就好了,但是当尝试使用 GMap
控件的 IsMouseOverPolygon
属性检测用户是否点击多边形时行 - 它似乎不起作用。
注意:GMap
控件的PolygonEnabled
属性设置为True。
OnPolygonClick
事件甚至没有触发:
private void gMap_OnPolygonClick(GMapPolygon item, MouseEventArgs e) {
double pLat = item.From.Value.Lat;
}
Map Click
事件会触发,但“IsMouseOverPolygon”永远不会获得 True 值:
private void gMap_Click(object sender, EventArgs e) {
if (gMap.IsMouseOverMarker) {
MessageBox.Show("Clicked on marker and it works!");
}
if (gMap.IsMouseOverPolygon) {
MessageBox.Show("clicked on line - never works");
}
}
我想知道我添加多边形的方式是否有问题,或者是因为在我的情况下它只是线:
GMapOverlay polyOverlay = new GMapOverlay("polygons");
gMap.Overlays.Add(polyOverlay);
List<PointLatLng> points = new List<PointLatLng>();
points.Add(start);
points.Add(end);
polygon = new GMapPolygon(points, "mypolygon");
polygon.Stroke = new Pen(Color.Blue, 5);
polyOverlay.Polygons.Add(polygon);
所以,问题是:我应该如何检测鼠标在这些行上的点击?
最佳答案
我可以在代码中看到两个问题。首先,您需要将多边形明确定义为 HitTestVisible
:
polygon.IsHitTestVisible = true;
其次,要设置一个多边形,请添加至少三个未对齐的点并实际生成一个区域。我发现点击只会在实际区域上被注意到,理论上多边形可以由两个点组成。
根据上面的提示,检查 gMap.IsMouseOverPolygon
应该返回 true
。
关于c# - GMap - 无法检测到点击多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33901255/
我在使用 JSF2.0 的 Primefaces 3.5 的 Gmap 组件的项目上遇到问题。我有这个命令按钮,可以对标记进行过滤和最重要的更新 mapForm map 形式:
我使用的是 Gmap.NET 的 WinForm 版本。我正在做的是为每个标记创建 1 个叠加层,然后将其添加到我的 map 控件中。这显着减少了我程序中的延迟。现在唯一的问题是,如果我想隐藏一个覆盖
我正在尝试创建一个应用程序位置,但它向我显示错误 gmaps (com.formation.gmaps) 的应用程序已意外停止。 请注意,我已经卸载了eclipse,但总是出现此错误。 这是我的错误日
我在使用 angular-google-maps 时遇到问题。我只想将基本的信息窗口附加到 map 上的每个标记。我正在使用 ui-gmap-markers 并在每个标记指令内放置一个 ui-gmap
自定义Marker,可以理解为在地图上自定义图标(Custom Marker),先看看GMap的地图和图标的显示方式: Map控件上可以添加Overlay(图层),可以添加多个图层,先添加的图
我正在尝试制作一个能够显示 map 的小应用程序。我遇到了 GMap.Net,它非常适合我的目的,除了 map 没有完全显示在控件中。我附上了一张图片,希望你能理解我的问题。 我的加载按钮代码是 pr
我想使用 GMap.Net 的路线方法绘制路线。但是,当我用新颜色将任何点添加到路线列表中时,所有路线的颜色都发生了变化。因此,一条路线似乎只能使用一种颜色。有没有办法在一条 route 使用两种或多
我打算使用GMap.Net设计Windows窗体应用程序,以查看供个人使用的离线地图。我已经有一些mapdata,可以使用通用映射downloader下载,可以将其转换为sqlite db格式。但是G
我在我的 Windows 应用程序 (C#) GMAP API 中使用,我需要显示 map 的地形特征,因此,我尝试按如下方式分配 map 的提供者: Map.MapProvider = GMapP
我需要处理 map 上的每个标记,所以我想要的是这样的: var marker[5] = new google.maps.Marker({ position: new google.maps.La
我正在尝试实现此功能( GMap - Info Window)在我的网站上。 标记有效,但信息窗口从未显示。我尝试在 applicationContext.xml 中为 InfoWindowView.
我可以在悬停时更改标记大小吗?我需要在悬停时增加标记大小 (2-3 px) 并在鼠标移开时减小到默认大小。 最佳答案 如果您使用自定义图标,您可以轻松地在鼠标悬停时更改图像: [...] var ma
IsMouseOverMarker 属性检测点击标记就好了,但是当尝试使用 GMap 控件的 IsMouseOverPolygon 属性检测用户是否点击多边形时行 - 它似乎不起作用。 注意:GMap
我正在使用 gmap.net 控件在 Windows 窗体上显示 map 。到目前为止,除了 map 拖动功能外,一切正常。一般来说,左鼠标按钮支持 map 拖动,但在 gmap.net 控件中鼠标右
我正在尝试从该位置输出路线时间,由于某种原因该路线从未经过。 jQuery(document).ready(function () { $.get('api/index.php', funct
我有一个关于 jQuery Google map 代码的简单问题。 我已向 map 添加了标记,但信息窗口在开始时不会显示,仅在鼠标悬停后才显示。 这是代码: (function ($) { var
我正在尝试创建一个位置输入字段,用户将在其中选择一个位置。因此 map 上应该只存在一个标记。 我当前的代码在点击时添加了一个标记: var map = new GMaps({
我正在使用 gmaps.js,我可以使用此代码绘制多边形 var paths = []; function drawPoly(p1, p2) { paths.push([p1, p2]); c
当我拖动标记时,是否可以禁用 google mal (v3) 内部的移动?我不想使用静态 map 。我需要一般的移动功能,但是当我拖动标记时, map 不应该移动。 非常感谢! 最佳答案 标记有 dr
我们在创建多边形时遇到问题,因为它们没有出现在 map 上。我们按照本教程来实现我们的解决方案: http://googlemaps.subgurim.net/ejemplos/ejemplo_941
我是一名优秀的程序员,十分优秀!