我目前正在使用Google地图构建网络应用程序。不幸的是,我已经达到了Javascript为我想做的所有不同事情达到的绝对最大限制,我们正在探索所有的替代方案。
我们研究了服务器端缓存和预生成/计算。这绝对是一种可能性,但据说甚至在尝试一次性绘制100k +点时“太慢”。由于一切(一如既往)需要始终立即加载(或接近darnit),我正在寻找本地应用程序作为替代方案。
在我提出这个想法之前(我已经知道每个人都会参加),我首先要看两件事:
感谢您的帮助!
答案 0 :(得分:1)
不知道这是否符合their TOS,但您可以查看:http://www.howtogeek.com/90565/how-to-download-google-maps-for-offline-use/
Java AFAIK是桌面应用程序中最主流的高级跨平台语言。
尽管Mono,但与Java相比,mac上的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。
答案 1 :(得分:0)
据我了解,您的地图应用程序涉及在单个地图上绘制100,000多个标记(纬度/经度点)。您现在使用JavaScript代码和函数调用在地图上绘制标记。
考虑坚持使用网络托管的Google地图,并使用两种替代实施方法之一。
汇总点数。您可以尝试在同一屏幕像素上绘制100个标记,但用户将不会获得比您刚绘制一个标记更多的信息。考虑将多个紧密间隔的标记聚合成聚合标记。谷歌的文档在2010年12月由Google Geo API团队的Luke Mahe和Chris Broadfoot撰写的“Too Many Markers!”中提出了如何做到这一点的建议(http://code.google.com/apis/maps/articles/toomanymarkers。 HTML)。
自己在自定义地图图块上绘制标记。我参与了一个使用Webfoot Map Tile Generator代码的地图应用程序,该代码采用这种方法在美国大陆地图上绘制大约50,000个点,标记每个美国邮政编码的位置。请参阅(http://maps.webfoot.com/demos/election2008/),在左侧窗格的“Dots Layer”下,从下拉菜单中选择“Zip Codes”。绘制自己的地图图块并不容易,但它非常强大,而且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的等效内容。