c# - 在 Windows 窗体应用程序中显示 map

标签 c# winforms maps

几个月前,我构建了一个 Winform 应用程序,用于安排维修技术人员的约会。我想通过在客户表格上添加客户地址的 map 来更新应用程序,然后将该 map 打印在技术人员离开办公室时所做的报告上。

我一直在四处寻找,但我还没有找到一个好的解决方案。

我目前有客户的地址。我想做的是将地址提交到流行的在线 map 站点之一,并获得该地区的迷你 map 。我可以几乎使用 Google map 使用其嵌入式链接功能来做到这一点。将地址添加到他们的网站后,我可以获得以下 HTML:

<iframe width="300" height="300" frameborder="0" scrolling="no" 
   marginheight="0" marginwidth="0" 
   src="http://maps.google.com/maps?hl=en&amp;ie=UTF8&amp;t=h&amp;g=1193+Presque+Isle+Dr,+Port+Charlotte,+FL+33952&amp;s=AARTsJqsWtjYwJ7ucpVS6UU2EInkRk6JLA&amp;ll=27.012108,-82.087955&amp;spn=0.005735,0.006437&amp;z=16&amp;output=embed">
</iframe>

我的第一个计划是简单地解析这个 HTML 并插入任何需要的客户地址来代替这个地址,然后在表单上的浏览器对象中显示结果。但是,如果我更改上述 iframe 中的地址,Google 会给我一条消息“您的客户没有权限获取 URL ...”。

我对最终使用哪种 map 服务没有偏好,重要的是该解决方案不能有相关费用并且可以从 Windows 窗体中使用。

有人对如何解决这个问题有想法/建议/资源吗?

结果:

我最终使用了找到的控件 here .我发现它是一个“不错”的解决方案……开始工作很乏味,因为代码不能按原样工作。我很惊讶地发现流行的 map API 都不支持 winforms。

最佳答案

some example code用于开发 map 查看器控件(注意:我怀疑这是否严格在他们的许可范围内)

否则,根据您的预算,您可以使用 MapPoint ActiveX control

关于c# - 在 Windows 窗体应用程序中显示 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/424770/

相关文章:

android - nutiteq map 上的折线 onLocattionChanged

c# - 如何在 asp.net webforms 中激活当前菜单项

c# - control.Show 和 BringToFront 有什么区别?

c# - 在表单加载时使用进度条

javascript - 使用Leaflet,如何获取折线弹出坐标并将其添加到弹出内容

jquery - 关闭所有其他窗口并保留当前的信息框谷歌地图

c# - 在 C# 中创建一个可以采用 double 、十进制和 float 而不重复代码的方法

c# - sitecore mvc 使用 viewmoldel 返回 View

c# - 如何在 C# 中解析默认的 git 日期格式

c# - 测量 RichTextBox 在一行中可以包含的字符数