【问题标题】:Local application with maps带有地图的本地应用程序
【发布时间】:2011-12-09 11:12:44
【问题描述】:

我目前正在使用 Google 地图构建一个网络应用程序。不幸的是,我已经达到了 Javascript 对我想做的所有不同事情的绝对最大限制,我们正在探索所有的替代方案。

我们研究了服务器端缓存和预生成/计算。这绝对是一种可能性,但据说即使在尝试一次绘制 100k+ 点时也“太慢”了。由于所有内容(一如既往)都需要始终立即加载(或接近 darnit),因此我正在寻找本地应用程序作为替代方案。

在我提出这个想法之前(我已经知道每个人都会去),我首先要看两件事:

  1. 我可以在本地使用 Google 地图吗?
  2. 我想在 PC 和 Mac 之间使用应用程序。我是 WPF 和 Web 开发人员。窗边,没问题。然而,Mac 并不能很好地使用这些技术。是时候咬紧牙关学习 Java 了吗?

感谢您的帮助!

【问题讨论】:

    标签: java wpf google-maps maps desktop-application


    【解决方案1】:

    不知道这是否符合their TOS,但您可以查看:http://www.howtogeek.com/90565/how-to-download-google-maps-for-offline-use/

    Java AFAIK 是用于桌面应用程序的最主流的高级跨平台语言。

    Mono 在 Mac 上的安装率可能与 Java 相比非常低,尽管that might not be a problem if you use mkbundle。和WPF isn't supported(尽管GTK# 是)。你可以做 Silverlight/Moonlight,其中are supported outside the browser,和 WPF 非常相似。

    您还可以考虑使用 C++ 或 Python 与 wxWidgets。不过如果你使用 Python,那里有are a ton of GUI libraries for it

    【讨论】:

    • 是的,我很简短地看了 Mono,但看了我自己的 Mac,我很快就想到“不,这不会发生”。不确定 C++,不要特别想走那条路(考虑垃圾收集等)。我说 Java 是因为它与 C# 基本接近……但 Python ……嗯。
    • 哦,找到 mkbundle。将其添加到我的答案中。当然,在完全重写应用程序之前,我会做概念验证。 Python、Java 和 Mono 都有可能变得迟缓。在 Windows 上安装 Python 可能是客户不想做的事情(也许是解决方法,尽管我没有研究过)
    【解决方案2】:

    据我了解,您的地图应用程序涉及在一张地图上绘制 100,000 多个标记(纬度/经度点)。您现在使用 JavaScript 代码和函数调用在地图上绘制标记。

    考虑坚持使用网络托管的 Google 地图,并使用两种替代实施方法之一。

    1. 聚合点。您可以尝试在同一个屏幕像素上绘制 100 个标记,但与仅绘制一个标记相比,用户不会获得更多信息。考虑将多个紧密间隔的标记聚合成聚合标记。 Google 的文档在“Too Many Markers!”中提供了有关如何执行此操作的建议,作者 Luke Mahe 和 Chris Broadfoot,Google Geo API 团队,2010 年 12 月 (http://code.google.com/apis/maps/articles/toomanymarkers. html).

    2. 自己在自定义地图图块上绘制标记。我参与了一个使用 Webfoot Map Tile Generator 代码的地图应用程序,它采用这种方法在美国大陆地图上绘制大约 50,000 个点,标记每个美国邮政编码的位置。请参阅 (http://maps.webfoot.com/demos/election2008/),并在左侧窗格中的“点层”下,在下拉菜单中选择“邮政编码”。绘制自己的地图图块并不容易,但它非常强大,而且 Webfoot 代码显示它可以很快。谷歌没有完整记录如何做到这一点。但从他们在 Maps Javascript API v2 中实现“使用 GMapType 的自定义地图类型”(code.google.com/apis/maps/documentation/javascript/v2/overlays.html#CustomMapTiles) 的描述开始。 (code.google.com/apis/maps/documentation/javascript/overlays.html#CustomMapTypes) 中似乎缺少 Javascript API v3 的等效项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多