从谷歌地图数据或其他地图API中创建街区覆盖层

3
我的问题是:如何在游戏中获取城市中的“街区”?(然后以特定颜色显示它们阴影?)
我的一般想法是在游戏中使用你所在城市的真实街区,你可以拥有/出售。
我想在谷歌地图上显示你拥有的区域作为多边形叠加层。
谷歌地图是否是未来的发展方向,还是其他API(如OpenStreetMap等)更有用?
任何提示都将不胜感激,例如抓取哪些数据以及如何构建“街区”的一般算法,或者可以为我返回街区/房屋级别多边形的API调用。
2个回答

1

听起来很困难,主要是因为你很难一致地定义一个块——是一条街的一侧,还是由四条街围成的矩形?如果它不是一个矩形呢?等等。

OpenStreetMap 数据可能是你最好的选择,因为你可以实际下载数据,通过 OSM ExportCloudmade extract 按区域。

你可以考虑另一种方法(即让用户定义自己的多边形)或让用户拥有街道(使用 OSM 数据会更容易)。

还有商业可用的包裹数据集,可以提供城市的财产级别视图。这些可能非常昂贵。


谢谢,这是一个非常有用的想法。拥有街道甚至通过房屋编号将其分成段可能比定义街区要容易得多。(我认为拥有整条街道可能会减少城市可用部分,不太有趣。)拥有街区的主要优势是我可以很好地为属于您/其他玩家的区域着色。如果您或其他人有分块划分的想法,那就太棒了! - rdrey
你怎么样了?我现在正在写一个类似的游戏...我正在做完全相同的事情...给一个建筑物着色,再给另一个着色... - RomanG

-1

我最近遇到了这个问题。最终,我创建了一个Objective-C库,基本上分析了OSM街道数据和OSM建筑物轮廓数据的组合,以找出“街区”的概念,其中“街区”是具有建筑物并且具有相交街道多边形的多边形区域。它不适用于所有情况(例如没有建筑物轮廓数据的街区),但对于城市来说,在确定街区方面效果很好。

另一种方法,但据我所知,OSM不支持,就是直接从城市政府获取街区多边形数据,但这不是特别可扩展的,除非您的要求仅适用于少数给定的地点。而且有些城市不发布该数据。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接