首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加快一个非常大的Bing地图基于polyline的层

加快一个非常大的Bing地图基于polyline的层
EN

Stack Overflow用户
提问于 2014-09-27 09:54:49
回答 1查看 429关注 0票数 0

我正在编写一个基于必应地图的Windows和Windows 8通用应用程序,它显示了一些相当大的地图层。

编写最初的应用程序是没有问题的(我在http://blogs.msdn.com/b/rbrundritt/archive/2014/06/24/how-to-make-use-of-maps-in-universal-apps.aspx上学习了这个教程),但是我现在遇到了很大的问题,在绘制一个包含数千个多行代码的图层时,有成千上万的协调程序。

数据太大了--在Windows8.1上,地图崩溃了应用程序,而在Windows 8.1上,显示层需要很长时间。

根据http://blogs.msdn.com/b/bingdevcenter/archive/2014/04/23/visualize-large-complex-data-with-local-tile-layers-in-bing-maps-windows-store-apps-c.aspx,我应该通过将它转换成本地平铺层来加快速度,但是本文中提到的程序(MapCruncher)需要一个PNG作为输入。问题是,如何将地图数据转换为PNG?我可以将数据作为shapefile、KML文件或CSV文件。还有别的办法我应该这么做吗?我知道我可以通过Geoserver来完成这个任务,但是我的应用程序必须有离线支持,所以不能根据需要从web服务器下载适当的文件。

如果任何人有其他的方法,我可以处理这个速度问题与大层,那么这将是非常感谢。我知道我可以通过四叉树来加速Bing地图中一个图层的绘制,但是我发现的大部分都是理论上的。如果有人有我可以插入的代码,那将是非常有用的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-27 19:30:06

如果您只在一个小区域中有数据,或者只想显示几个缩放级别的数据,本地瓷砖层就很好了。否则,瓷砖的数量将急剧增长,并将使您的应用程序巨大。如果您的数据定期更改,或者您希望支持地图的所有缩放级别,则应该将数据存储在服务器上,并将其公开为动态平铺层。动态瓦片层是一个web服务,它根据需要从您的数据中生成一个余额。您可以将缓存添加到这些块中以提高性能。这是处理大型数据集的最佳方法,我经常使用这种方法。实际上,我这里有一个演示:http://onsbingmapsdemo.cloudapp.net/ --这个数据集由175,000个复杂多边形组成,相当于大约2GB的数据。

我在这里有一篇关于如何做到这一点的博客文章:http://rbrundritt.wordpress.com/2009/11/26/dynamic-tile-layers-in-the-bing-maps-silverlight-control/

如果您更喜欢使用MVC,您可能会发现这些项目很有用:https://ajaxmapdataconnector.codeplex.com/

https://dataconnector.codeplex.com/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26073430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档