用OpenGL绘制图像
如何使用open openGL/opentk(来自无人机的视频)绘制映射(gmap.net) 我的问题是如何在地图上绘制视频图像,因为可以在地图上以不同的角度查看视频,并且图像应该在地图上梯形而不是四尖? 我从其他问题中复制了图像...当前我的代码bellow绘制四边形,但在四边形中,我看到了2个三角形,它们不相等. 当前代码: public override void OnRender() { if (!backgroundColor.HasValue) backgroundColor = new Pen(Fill).Color; GL.Color4(backgroundColor.Value); lock (bitmapSync) { if (bitmap != null) createTexture(); } GL.Enable(EnableCap.Text
0 2023-11-30
编程技术问答社区
WPF中的Gmap.net错误
在工具箱中添加参考组件后,尝试使用组件时会发生以下错误: " 引用" gmap.net.windowspresentation,版本= 1.6.0.0,culture =中性, publicKeyToken = B8B9027B614FEF"已添加到该项目中. 从新参考中的类型类型,按OK重新启动XAML设计器. XAML设计师重新启动后,重新创建Artboard的控制." 已经重新启动了视觉工作室,但没有解决. 解决方案 这对我有用. 使用Windows Explorer查找gmap.net.core.dll和gmap.net.windowspresentation.dll 右键单击 选择属性 单击Unblock按钮
0 2023-11-24
编程技术问答社区
C#,Gmap.net :使用Gmap.net liabrary在谷歌地图上绘制5个标记时产生异常。
我正在使用gmap.net库来在特定的租赁中绘制标记,在Google Maps上由三角算力进行计算后,当我为两个标记工作时,它的作品正常,但是当我尝试绘制5个标记时,它的作品正在显示我例外 'system.invalidoperationException'类型的例外 发生在mscorlib.dll 中 其他信息:收集已修改;枚举操作 可能无法执行. 我在做什么,我为五个标记创建了5个线程,这些标记在地图上绘制. 如果我在绘图中进行绘图时,如果我做了很多放大的缩放 它显示了例外. 在绘制我再次移动地图时,它显示出异常. 我无法弄清楚为什么会发生.它没有向我显示任何行.这是错误的快照. 请帮忙. 编辑:这是在地图上绘制的代码包括添加标记和路线,我对所有5个标记和路线名称 的5个标记都使用相同的功能 void plot5(double temp_lat5, double temp_long5, string temp_date5, string temp
38 2023-05-19
编程技术问答社区
如何在C#中使用GMAP.NET在地图上绘制圆圈
我在C#中使用gmap.net.我能够在表单上显示地图,现在我试图通过单击centian点,保持左鼠标按钮并将鼠标拖到特定位置来绘制圆圈.一旦绘制了圆圈,我想在距中心点几英里的半径上获得半径,我确定GMAP能够做到这一点.我正在使用OpentStreet地图. 我只是无法实现这一功能,任何使用GMAP Controt的人都可以通过一些可以使用的代码来分享您的经验. 谢谢 解决方案 我知道的唯一方法可以实现这样的结果,就是用Pointlatlng点创建一个列表,并将其绘制为多边形.这是一个示例: private void CreateCircle(PointF point, double radius, int segments) { List gpollist = new List(); double seg = Math.PI * 2 / segments; for (int i
42 2023-05-11
编程技术问答社区
WPF中的MVVM-UserControls和GMap.NET
我已经阅读了几乎所有的教程和检查堆栈问题,但是我仍然不知道,也不了解如何管理MVVM中的wpf UserControls,特别是诸如gmap.net等其他人提供的wpf. . 我正在尝试在应用程序中遵循MVVM模式,但是我不知道如何初始化和管理gmap.net WPF控制.在标准方法中,它需要这样的管理: gmap.MapProvider = GMap.NET.MapProviders.GoogleMapProvider.Instance; GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerOnly; gmap.DragButton = MouseButton.Left; gmap.SetPositionByKeywords("Paris, France"); gmap.ShowCenter = false; 如果不制动MVVM,我该怎么做?是否可以?我会感谢任何帮助. 解决方案 如注释中所建议的,任何
26 2023-04-07
编程技术问答社区
GMap.net中的缩放和平移
我正在尝试制作 gmap.net 使用wpf build-in Events启用了Control Multitouch,但使用wpf build-in Events没有成功. 我找到了一系列有关多点的文章,例如 this 和 this 一个.在所有这些中,ManipulationContainer是放在上面的画布和可移动控件,但是在GMAP问题中ManipulationContainer是GMapControl,对它没有控制.如何使用e.ManipulationDelta数据缩放并移动? GMapControl具有Zoom属性,通过增加或减少它,您可以放大或缩放. 解决方案 快速查看代码,表明 GMapControl是ItemsContainer . 您应该能够重新列入ItemsPanel模板并在此处提供IsManipulationEnabled属性:
64 2023-04-07
编程技术问答社区
GMap .net脱机
我正在使用C#中的GMAP开发一个应用程序(伟大的API,BTW),而不是与Google-Map API混淆,此后我做了一些非常酷且有用的事情. 我的问题是我的某些客户没有Internet连接,这就是为什么我需要能够离线显示背景(地图).我曾经使用属性GMap.NET.AccessMode.ServerAndCache;从服务器获取数据,现在我希望能够与完整的缓存一起使用GMap.NET.AccessMode.CacheOnly. 让他们使用连接加载缓存以准备离线使用,这不是一个选项,PC永远不会连接到Internet.经过一番研究,我了解到OpenStreetMap是唯一可以免费使用其图的开源图(这很好,因为它们具有很好的地图).我下载了一张20GB的欧洲地图,但我不知道如何将其指定为缓存(我知道如何找到缓存文件夹). 大多数情况下,我的Google搜索向我展示了人们试图创建一个虚拟SQLite服务器,并通过Localhost访问DB中的所有地图的瓷砖,但老实说,我认
14 2023-03-18
编程技术问答社区
鼠标在地图上点击的位置信息 GMap.net
我正在与gmap.net一起研究Win表单应用程序(一个使我们可以在Win表单应用程序中使用Google Maps的库).直接到达点,我能够获得坐标,即(纬度和经度),我的鼠标点击(左键单击). private void gm1_MouseDoubleClick(object sender, MouseEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Left) { double lat = gm1.FromLocalToLatLng(e.X, e.Y).Lat; double lng = gm1.FromLocalToLatLng(e.X, e.Y).Lng; } } 我找不到一种方法来获取该地方的位置,即国家名称,城市名称等 我已经搜索了Google地图的论坛,但我没有找到这个
78 2023-02-23
编程技术问答社区
无法加载文件或程序集 'GMap.NET.Core, Version=1.7.5.0
我正在尝试在项目上加载地图.我在项目上使用了WPF我遇到了这个错误. 无法加载文件或汇编'gmap.net.core,版本= 1.7.5.0, 文化=中性,publicKeyToken = B85B9027B614FEF'或其中之一 依赖性.位置的大会的清单定义没有 匹配组件参考. (Hresult的例外:0x80131040) 我在我的参考文献中查看,我只有一个引用GMap.NET.Core版本1.7.0.0. 有人可以帮我我解决这个问题吗? 解决方案 您只需要从此包含gmap.net.core的组件,因此只需在项目中添加此组件的引用. 这是当汇编不匹配时发生的情况,这是不一样的问题,但会帮助您理解. 不正确的参考示例 错误 解决方案 求解此诚意打开您的应用程序配置文件,并查看那里的GMAP软件包的版本号,然后检查引用中的GMAP版本编号,如果它们与参考文献中的delete dll不匹配,并将版本编号更改为1.7.5.0然后,AppCo
32 2023-02-21
编程技术问答社区
GMap标记被放置在错误的位置
im使用winforms和gmap.net来学习如何使用. 我在GMAP控制器上和用户时有一个鼠标单击操作 点击地图上的某个位置,我要获得X y坐标, 将它们转换为纬度和长度,然后绘制标记 在地图上. 但是标记不放置在真实的鼠标光标位置, 看起来标记有一个默认位置,仅此而已. 我试图将鼠标移至另一个地方,当我单击标记时 也是在错误的地方创建的(与第一个标记相同) 我尝试在获得坐标之前使用gmap.overlays.clear() 并放置标记,但这无用. private void gmap_MouseClick(object sender, MouseEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Left) { double lat = gmap.FromLocalToLatLng(e.X, e.Y).Lat; doub
28 2023-02-21
编程技术问答社区
用OpenGL将绘制的纹理保存到文件中
我用OpenGL绘制纹理(视频图像).图像是在地图上绘制的,因此在大多数情况下,绘制的图像为梯形.仅当我使用"透视正确纹理"时,图像在地图上看起来不错. 我的问题是如何捕获绘制的纹理并将其存储在文件中. 我只想保存绘制的纹理而不是屏幕截图或此功能中未绘制的其他任何内容(公共覆盖void onrender()). 我还在地图上渲染了其他内容,因此进行屏幕截图不是解决方案.因此,如何将某些Framebuffer绘制在屏幕上并将其保存到文件中. 使用Opentk Nuget V1.1.1.1589.5942(v4.0.6) using GMap.NET.OpenGL; using OpenTK; using OpenTK.Graphics.OpenGL; public GMapControl() : base(new OpenTK.Graphics.GraphicsMode(32, 24, 8, 4)) { Paint += glControl_Paint
8 2023-02-21
编程技术问答社区
如何删除GMap中心位置上显示的加号(+)?
我正在使用GMap.NET地图控件在我的Windows表单应用程序上显示地图. 我最近升级到GMap.NET构建" 09991DD06609". 升级到最新构建后,我在地图中心获得了加号(+).我想删除该标志. 我已经完成了所有GMap.NET控制属性,但找不到任何属性来删除它. 当我使用较旧的构建时,我没有得到加号. 解决方案 经过一些研究,我找到了答案. 我已经使用以下语句删除gmap.net中的加号(+): MainGMap.ShowCenter = false;
14 2023-02-17
编程技术问答社区
一个可以工作的GMap.NET应用源
我是第一次使用GMAP,但是我的地图不会显示...我正在寻找一个工作的C#应用​​程序源.你能帮我吗? 注意:我已经下载了 this " http://greatmaps.codeplex.com/releases/view/20235#downloadid = 51274" rel =" nofollow"> this 来自 http://greatmaps.codeplex.com ,但它们只是应用程序,不包括来源... 谢谢. 解决方案 这是在其上带有gMapControl1的形式.将Gmap.NET.Core和Gmap.NET.WindowsForms上的参考添加到您的项目中. using System; using System.Windows.Forms; using GMap.NET.MapProviders; using GMap.NET; namespace gmap { public partial class Form1 : Fo
62 2023-02-14
编程技术问答社区
如何在c#中在Gmap上添加多个制造商
我有一个带有GPS坐标列表的文本文件.我试图在文档中的每个坐标上放置标记.问题在于,文档的长度改变了我的使用方式,标记将被每次迭代替换.我如何为每个lan/lon点添加标记? 这是相关代码: private GMapOverlay gMapOverlay; private GMapMarker marker; gmap.MapProvider = GMap.NET.MapProviders.GoogleMapProvider.Instance; gmap.MinZoom = 2; gmap.MaxZoom = 25; gmap.Zoom = 5; gmap.ShowCenter = false; gmap.DragButton = MouseButtons.Left; //setup the map overlay for displaying r
20 2023-02-14
编程技术问答社区
使用GMap.NET显示流量
我正在使用gmap.net在我的Windows表单应用程序中渲染Google Map,并且效果很好.现在,我想在地图上显示流量信息.有什么方法可以在gmap.net? 中做到这一点 解决方案 在最后一个版本中,1.9.2,只需在使用控件之前指定此内容. GoogleMapProvider.Instance.Version = "m,traffic@336000000"; 其他解决方案 没有任何方法可以做到这一点.据我所知,GMAP.NET不支持任何流量信息.他们没有提及文档中的流量信息.
26 2023-02-14
编程技术问答社区
GMap.NET显示没有地图
我正在尝试使用这是我所做的: 我通过从工具箱的上下文菜单中单击"选择项目..."并浏览gmap.net.windowsforms.dll,将控件添加到我的Visual Studio的2010 Toolbox中.我还在我的解决方案中添加了gmap.net.core.dll和system.data.sqlite.dll的引用. 然后,我将出现在我应用程序的主要形式的工具箱中的GMAPCONTROL放置,并将地图类型设置为GoogleMap.但是,当我运行应用程序时,控件显示一个带有一段文字的蓝屏,上面写着"我们很抱歉,但是我们在此区域的缩放级别没有图像",或者一个明亮的屏幕没有完全数据(当我更改Zoom级别时). 这是我的代码: GMapMain.MapType = MapType.GoogleMap; GMapMain.MaxZoom = 100; GMapMain.MinZoom = 0; GMapMain.Zoom = 50; GMapMai
198 2023-02-09
编程技术问答社区
使用GMap.net在地图上绘制多段线
是的,我不是第一个问的人,但我没有找到答案(也许是因为我的英语不好).如何在地图上绘制多线线?不是路由(方向),而只是一个多线线,例如在JS Google Maps API中具有功能polyline.我不明白. 反正谢谢. 解决方案 对本教程有很好的阅读: http://www.independent-software .com/gmap-net-tutorial-maps-maps-and-polygons/ 这应该让您入门: GMapOverlay polyOverlay = new GMapOverlay("polygons"); IList points = new List(); points.Add(new PointLatLng(-25.969562,32.585789)); points.Add(new PointLatLng(-25.966205,32.588171)); GMapPol
64 2023-02-08
编程技术问答社区
WPF中的GMap.NET,不工作的标记
如何将标记添加到我的地图上? 我使用: PointLatLng point = gMap.FromLocalToLatLng(62.03175418653, 129.731884002686); GMapMarker marker = new GMapMarker(point); gMap.Markers.Add(marker); 它不起作用.. 我的gmap: gMap.MapProvider = GoogleMapProvider.Instance; gMap.Manager.Mode = AccessMode.ServerAndCache; GMapProvider.WebProxy = null; gMap.Position = new PointLatLng(62.03175418653, 129.731884002686); gMap.MinZoom = 1; gMap.MaxZoom = 20;
56 2022-08-23
编程技术问答社区
如何用WPF的GMap.net来响应点击事件
我正在编写一个使用 GMapControl 的 WPF 程序.我想允许用户点击地图并在用户点击的地方添加一个标记.我不想使用“MouseUp"和“MouseDown"事件,以便仅当用户实际单击地图并忽略拖放时才会捕获该事件.另外,我希望能够以同样的方式捕捉手写笔和触摸事件.我注意到没有“点击"事件.对于如何做到这一点,还有其他最佳做法吗? 谢谢, 解决方案 似乎已经晚了,但我这样做的方式是创建一个集合,该集合将处理多边形到 MapControl 和事件的渲染.首先是创建一个可以扩展的多边形基类. public abstract class BasePolygon : GMapPolygon { public BasePolygon() : base(new List()) { } public virtual void Render(Map map) { //code for dis
242 2022-08-10
编程技术问答社区
如何在Gmap.net wpf中创建一个路线?
我希望你能帮助我.我在网络上找不到任何对 GMap.net 的 WPF 版本有帮助的东西. 问题:我没有看到我的路线. List points = PolylinePoint.Decode(responseData.routes.First().overview_polyline.points); GMap.NET.WindowsPresentation.GMapRoute route = new GMap.NET.WindowsPresentation.GMapRoute(points.Select(x => new PointLatLng(x.Latitude.Value, x.Longitude.Value))); route.ZIndex = ROUTESLIST; route.Shape = new Line() { StrokeThickness = 4, Stroke = System.Windows.Media.Brushes.BlueVio
260 2022-08-10
编程技术问答社区