问题标签 [mappoint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1735 浏览

c# - 用于计算距离的 MapPoint/MapSource API

下午好,

我需要计算大约 4000 个点之间的成对距离,它们在 WGS84 中的坐标是已知的。计算直线距离并不难,因为我找到了这个C# 库,但现在我对通过道路而不是直线的最短距离感兴趣。

使用 Google API 或 VIA Michelin 不是一个好的选择,因为它们只允许 1000-2500 次调用,这将需要近 800 万次... 谁能告诉我是否可以使用 Microsoft MapPoint 2009 在离线 fashing 中执行此操作/ Garmin MapSource?

非常感谢。

0 投票
2 回答
589 浏览

c# - 多线程访问 MapPoint?

下午好,

正如我之前在另一篇文章中所说,我必须计算地图中某些点之间的大约 8,000,000 个最短时间/路径距离,这些点的坐标是已知的。问题是,虽然直线距离很容易(而且很快)计算出来,但有人告诉我,单线程应用程序在使用 MapPoint 计算这个距离数时可能会遇到问题。问题是我对多线程一无所知...我目前正在使用 i7 - 720QM 环境,所以我想使用所有 4 个内核来进行这些计算...有什么简单的方法可以做到这一点在 C# 或 C++ 中?

非常感谢。

0 投票
1 回答
311 浏览

c# - 有没有办法暂停 ActiveX 控件 (MapPoint) 或异步运行 DoDragDrop?

我目前正在使用 MapPoint-Control 开发一个应用程序,这让我很难过。从 mappoint 也使用的线程启动后DoDragDrop,我总是在几秒钟后从 mappoint 得到一个对话框,说我的表单没有反应。

MapPoint-Control 是一个ActiveX-Control,使用控件MapPoint 在后台启动并在不同的线程中运行。我认为 Mappoint 尝试更新控件但超时。

有没有办法DoDragDrop在不同的线程中运行,所以 MapPoint 从主线程获得响应。或者是否可以告诉 MapPoint 我的表单当前已暂停。或者我可以以某种方式暂停 MapPoint?

我尝试DoDragDrop使用表单控件和 MapPoint-Control运行

0 投票
2 回答
1380 浏览

wpf - 将 MapPoint 控件与 WPF 应用程序一起使用

我尝试将 MapPoint 控件与 WPF 应用程序一起使用。我将 MapPoint 添加到我的项目的引用中,然后我尝试将 Microsoft MapPoint Control 17.0 添加到工具箱中,但没有发生任何事情(工具箱中没有出现任何新内容)。所以我尝试直接在代码中使用这个控件。我发现这个控件的类型应该是:AxMappointControl,所以我尝试使用它,但它不正确。有人知道如何在 WPF 代码中使用 MapPoint 控件吗?如何将此控件添加到我的代码中?如何将控件添加到工具箱?

0 投票
1 回答
738 浏览

visual-studio-2010 - MapPoint 控件 - 添加区域

任何人都知道是否可以在 C# 应用程序中使用地图点控制向地图添加区域?(类似于普通 MapPoint 2010 应用程序)如果是这样,我该如何使用它?

0 投票
1 回答
2146 浏览

c# - 为什么 MapPoint.Route.Calculate() 比在应用程序本身中计算要慢得多?

我刚刚尝试使用 mappoint api 通过代码进行多个路由。它工作得很好,但是一些路线需要很长时间来计算(18.5 秒)。如果我通过 MapPoint 本身计算相同的路线,只需不到 2 秒。

在上面的示例中,我计算了德国乌尔姆和曼海姆之间的路线。

我记得有另一种方法来计算显示弹出窗口的路线(不是MapPoint.Route.Calculate(),但我忘记了。

有人知道如何加快计算速度吗?

问候哇哇

编辑: 我刚刚尝试过:通过代码添加航点,但通过 MapPoint 本身计算路线。这也需要很长时间。不知何故,Waypoint 似乎是问题所在,而不是Calculate方法

编辑:

看起来 MapPoint 已经在后台计算了路线。如果我在调用计算之前等待几秒钟,它会在几毫秒内完成。

0 投票
1 回答
441 浏览

c# - MapPoint 控件 - 计算优化路线

我想知道是否有可能显示正在计算的窗口(与 MapPoint 2010 应用程序中显示的窗口完全相同),并有可能取消此计算(因为优化路线的计算持续很长时间)?如果是这样,我可以通过哪种方式做到这一点?

0 投票
2 回答
1008 浏览

vba - Excel VBA 中大约每 10,000 次迭代时出现无法解释的类型不匹配错误

我有一个 VBA 宏,它使用 Microsoft MapPoint 计算电子表格中每条记录的两个位置之间的距离。我有大约 120,000 条记录要处理。该程序顺利运行了大约 10,000 次迭代,然后返回一个类型不匹配错误,我在错误处理程序中定义了 MapPoint 位置。此时,我选择“调试”,然后在不编辑任何代码的情况下继续执行,它会在同样的事情再次发生之前成功运行另外 10,000 条左右的记录。

我检查了我的数据,但我不明白为什么会出现类型不匹配,或者为什么代码会一次阻塞记录,然后在不重置任何内容的情况下,在恢复时处理相同的记录。知道为什么会发生这种情况吗?

作为参考,
- M 列包含“X County, ST”形式的位置
- AN 列包含与 ZIP 相同的单独位置
- G 列包含与 AN 相同的位置数据,但格式为“X County, ST”

更新: 我采纳了@winwaed 和@Mike D 的大部分建议,我的代码现在更准确,不会因错误而窒息。然而,老问题以一种新的形式出现了。现在,经过大约 10,000 次迭代,代码继续执行,但随后会打印每条记录的第 10,000 条记录的距离。我可以在故障点重新启动代码,它会正常查找这些记录的距离。为什么会发生这种情况?我已经在下面发布了我的更新代码。

0 投票
1 回答
2062 浏览

c# - 从 Windows Server 2008 上的 C# .NET 应用程序启动 MapPoint 2006/2011 时出错

我在尝试从 Windows Server 2008 机器上的已发布应用程序中使用我们的 C# .NET 应用程序中的 MapPoint 库时遇到问题。实例化 MapPoint.MapClass 时,出现错误:

“您的此应用程序的注册表设置未正确复制。要更正这些设置,请从您最初安装它的位置再次运行此应用程序的安装程序。”

我可以在应用程序之外自行启动 MapPoint,只有在运行已发布的应用程序时才会出现错误。我们有多个客户端运行应用程序的服务器,运行 Server 2003 的服务器能够很好地启动 MapPoint。此外,XP和Win7机器也能正常工作。我们还有一个 Foxpro 应用程序,它也利用安装在 2008 服务器上的 MapPoint 的 API,它没有任何问题。

MapPoint 作为 COM 引用包含在 VS 项目中,指的是“Microsoft MapPoint 13.0 Object Library (North America) 8.3”。

在网上找了一堆可能的解决方案,但都没有奏效。我努力了:

  1. 完全卸载 MapPoint 2006 并手动从注册表中删除所有条目,然后重新安装
  2. 执行与 1 相同的操作,然后安装 MapPoint 2011 的试用版,导致完全相同的错误消息
  3. 禁用 UAC
  4. 将 MapPoint.exe 的兼容模式设置为 Server 2003 和 XP

如果有人有任何其他建议,请告诉我。

0 投票
2 回答
447 浏览

c# - MapPoint.exe 进程在与 C# 一起使用时在关闭应用程序后保留

我有简单的代码,基本上打开地图点并将地址导入其中,然后计算路线。完美运行,除了 MapPoint.exe 进程即使在关闭 Mappoint 后仍保留在系统中。

没有注意到旧版本的 MapPoint 存在此类问题。