用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
6 2024-04-26
编程技术问答社区
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按钮
8 2024-04-26
编程技术问答社区
如何在c#中在Gmap上添加多个制造商
我有一个带有GPS坐标列表的文本文件.我试图在文档中的每个坐标上放置标记.问题在于,文档的长度改变了我的使用方式,标记将用每次迭代替换.我如何为每个lon/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
4 2024-04-25
编程技术问答社区
GMap.NET 1.7 抛出的异常
当前,我正在使用Visual Studio 2008使用gmap.net(1.7版). 但是,它可以正常运行,我再也无法运行Winform应用程序了. 发射我的表格时,我会遇到此错误. GMap.NET.WindowsForms.GMapControl的类型初始化器引发异常. 如果我还原回1.6版本,则可以正常工作. 是否有人知道这种问题? 解决方案 从 rel="noflowl"> shere . 提取软件包和复制system.data.sqlite.dll附近的exe(\ bin \ debug或warree). 您只需在项目中添加它,其中" copy to to to uppoft dir:始终复制". 请勿参考DLL文件! 其他解决方案 我最近在同样的问题上挣扎.但是我的项目必须是X64-Solution.以下对我有用,也许也会对您有所帮助. 如果您下载gmap.net-sources,则可以构建库的" Any Code".通常(如果
10 2024-04-25
编程技术问答社区
如何在WPF中集成GMap.NET?如何在WPF中使用GMap.NET winforms控件?
我不明白如何将gmap.net集成在wpf中.我正在尝试使用XAML进行操作,没有任何想法.我正在尝试这样的smth: https://msdn.microsoft.com/en-us/library/ms742875(v=vs.110).aspx .但这对我不起作用.那么,该怎么做? 我有WPF应用程序,并且想在WPF窗口内使用gmap.net lib winforms控件.这样的smth,但是在wpf中: 通常,通常如何使用Winforms控制WPF中的参数?例如,如何更改地图提供商?在Winforms中,它非常简单,但是如何在WPF中做到这一点?我被卡住了.更改mapprovider的样本: gmap.MapProvider = GMap.NET.MapProviders.ArcGIS_World_Street_MapProvider.Instance; 或者,也许我只是在错误的方式上?我在WPF中是全新的. 解决方案 将GMAP NET引用添加到您的
0 2024-04-25
编程技术问答社区
如何在一个Activex控件中使用/提取控件的标识
我还有另一个问题. 考虑查看 这个 首先.. 在我的早期问题上,我需要拖动一个按钮,以及与我如何拖动/移动phitaberbox有关的表格.所有控件都在.NET内部.NET 现在,我正在研究这个伟大的 它只有其"工具提示"只能包含字符串. 例如marker.ToolTipText="Blah Blah" 在Codeplex的讨论中,据说您必须创建自己的工具提示,因为它不仅要显示字符串.但是我找不到一个很好的例子,除了回到我的问题,如果您检查了上面的第一个链接,您将知道我想实现的目标,现在唯一的问题是,我无法使用此代码: Point p = Button1.PointToScreen(Point.Empty); p.Offset(0, (-1 * Form2.Height) - 15); Form2.Location = p; 此代码使Form2遵循Button1无论它到哪里.不幸的是,在我的GMAP控件上,没有按钮.里面只有标记. 记住:此地图是一个控件
4 2024-04-23
编程技术问答社区
如何删除GMap中心位置上显示的加号(+)?
我正在使用GMap.NET地图控件在我的Windows表单应用程序上显示地图. 我最近升级到GMap.NET构建" 09991DD06609". 升级到最新构建后,我在地图中心获得了加号(+).我想删除该标志. 我已经浏览了所有GMap.NET控制属性,但找不到任何属性来删除它. 当我使用较旧的构建时,我没有得到加号. 解决方案 经过一些研究,我找到了答案. 我已经使用以下语句删除gmap.net中的加号(+): MainGMap.ShowCenter = false;
2 2024-04-23
编程技术问答社区
使用GMap.NET显示流量
我正在使用gmap.net在我的Windows表单应用程序中渲染Google Map,并且效果很好.现在,我想在地图上显示流量信息.有什么办法在gmap.net中做到这一点? 解决方案 在最后一个版本中,1.9.2,只需在使用控件之前指定此内容. GoogleMapProvider.Instance.Version = "m,traffic@336000000"; 其他解决方案 没有任何方法可以做到这一点.据我所知,GMAP.NET不支持任何流量信息.他们没有提到文档中的流量信息.
2 2024-04-22
编程技术问答社区
GMap.Net标记最初处于不正确的位置
我使用lat/long指定的GMAP添加了标记.当应用程序启动时,标记将放置在不正确的位置(在GMAP控件的中心),然后将其放大时,然后将其转到指定的坐标.这是GMAP中的错误还是我做错了什么?这是代码. GMapOverlay markersOverlay, mo2; GMarkerGoogle marker, marker5; GMapOverlay polyOverlay; List points; GMapRoute gr; Graphics g; bool start = true; double move = .0001; double lt = 73, lg = -180; public Form1() { AllocConsole(); InitializeComponent(); try { System.Net.IPHostEntry e = System.Net.Dns.GetHost
4 2024-04-20
编程技术问答社区
GMap-无法检测到对多边形的点击
IsMouseOverMarker属性检测到单击标记的单击即可,但是当尝试使用GMap控件的IsMouseOverPolygon属性来检测用户是否单击Polygon Line - 似乎无法正常工作. 注意:PolygonEnabled GMap控制的属性设置为true. OnPolygonClick事件甚至不会发射: private void gMap_OnPolygonClick(GMapPolygon item, MouseEventArgs e) { double pLat = item.From.Value.Lat; } map Click事件确实会发射,但是'ismouseoverpolygon从未获得真实价值: private void gMap_Click(object sender, EventArgs e) { if (gMap.IsMouseOverMarker) { MessageBox.Show("C
6 2024-04-20
编程技术问答社区
用OpenGL绘制图像
如何用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.Texture2D)
10 2024-04-17
编程技术问答社区
Gmap.Net标记在不正确的位置,但当地图被放大时,标记就到了正确的位置。
我有一个 Windows表单应用程序带有 gmap.net 控制器,我想做的是基于提供位置的外部来源添加标记.问题是,当我添加标记时,最初是在不正确的位置绘制的,但是在缩小后,它将转到正确的位置.所以这就是我到目前为止得到的: 我的地图控制器被声明位于巴拿马巴拿马. private void button2_Click(object sender, EventArgs e) { //Layer count is just a variable to add new OverLays with different names var markersOverlay = new GMapOverlay("markers" + layerCount); //Marker far away in Quebec, Canada just to check my point in discussion var marker = ne
4 2024-04-15
编程技术问答社区
使用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)); GMapP
22 2024-04-14
编程技术问答社区
无法加载文件或程序集 '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然后,Ap
8 2023-12-14
编程技术问答社区
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,我该怎么做?是否可以?我会感谢任何帮助. 解决方案 如注释中所建议的,任何
30 2023-12-14
编程技术问答社区
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属性:
30 2023-12-14
编程技术问答社区
GMAP.NET在标记物下面添加标签
我刚刚开始使用gmap.net,我一直在寻找标记下添加标签的功能.我看到有工具提示,但我想在标记下有一个单词描述的标签. 我搜索了文档或其他答案,但是我找不到任何使我相信它没有实施的东西.如果有人可以验证这一点,我会很感激. 解决方案 您需要创建自己的自定义标记. 基于 gmapmarker"> gmapmarker"> 和派生的public class GmapMarkerWithLabel : GMapMarker, ISerializable { private Font font; private GMarkerGoogle innerMarker; public string Caption; public GmapMarkerWithLabel(PointLatLng p, string caption, GMarkerGoogleType type) : base(p) { font = new Font("Arial", 14); innerMarke
10 2023-12-10
编程技术问答社区
鼠标在地图上点击的位置信息 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地图的论坛,但我没有发现这
62 2023-12-09
编程技术问答社区
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
66 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
56 2023-05-11
编程技术问答社区