如何为我的城镇创建基于地图的应用程序?

Posted

技术标签:

【中文标题】如何为我的城镇创建基于地图的应用程序?【英文标题】:How can I create a map-based app for my town? 【发布时间】:2011-04-10 23:51:25 【问题描述】:

我想为我的城镇创建一个基于地图的网络应用程序。它很小,只有 5 x 5 英里,所以我想下载一张地图图像或平铺图像集以用于该站点。

对于这么小的区域,我想我可以缓存地图图像或图像。然后我就不需要依赖谷歌或其他地图服务,这对于我的小区域来说似乎有点过分了。我想按街道地址映射事件,所以我需要在地图图像上绘制地址。

我可以在某处下载这样的本地地图吗?我该如何构建这个应用程序?我花了大约一天时间阅读有关地图的东西,例如 Everyblock 和 OpenStreetMap,但我完全迷失了,因为这些网站并没有真正谈论这些工具的使用方式。必须有一套已知的工具可以用来构建它!如果有人能告诉我应该看哪些地图工具,那将有很大帮助。谢谢!

【问题讨论】:

实际上,依靠谷歌地图或其他类似的地图API可能是最好的方法。即使是最小的地图,您也会惊讶于细节程度。 谢谢,我可能不得不这样做。必应地图在绘制我的位置方面做得更好(这可能很时髦),所以我可以使用它而不是谷歌。但即使这似乎也不清楚,例如使用 Ruby。我镇上的街道也很稳定,所以我想我可以随着时间的推移建立我的地图和数据的缓存,这样我就不必担心节流和其他依赖问题。 我认为 openstreetmap 是要走的路。它为此类项目提供了大量的 API 和服务。 【参考方案1】:

一种选择是使用OpenStreetMap。您可以通过各种方式使用数据(制作像 Google 地图那样使用的“易滑地图”、创建固定地图图像、从原始数据渲染您自己的地图图像......)。

为了更具体,您需要更详细地解释您需要什么。

如果您想按街道地址绘制内容,除了图像之外,您还需要地址信息。最简单的选择可能是使用现有的 Web 服务,例如 Nominatim (通过 HTTP 提供 API),或使用这些服务设置您自己的服务器。

当然,您也可以下载原始数据并从头开始设置所有内容,可能是在现有库的基础上构建。但这真的取决于你到底需要什么......

【讨论】:

谢谢,最后一部分有什么建议吗?我还没有找到一个好的阅读起点,这些网站有点假设你已经知道一切是什么。 @mapapp410:很难说,取决于你需要什么。基本上,您需要获取原始数据(通过 XAPI wiki.openstreetmap.org/wiki/Xapi 以 XML 格式下载),然后以某种方式呈现它。有各种可用的渲染器,或者自己制作:wiki.openstreetmap.org/wiki/Rendering。最后,在特定论坛上浏览(和发布)具体帮助:help.openstreetmap.org 谢谢。我认为这就是我所缺少的,简单描述它的工作原理以及从哪里开始。这是一条非常有帮助的评论,但我似乎对评论或您的回答都没有投票权。【参考方案2】:

看看San Francisco Neighborhood Project...这些家伙解析 craigslist 中提到的社区名称,定位相关地址,然后根据名称出现的频率对地图进行颜色编码。 python source - 具有数据分类、仓储、地理定位和绘图功能 - 如果有帮助的话...

【讨论】:

谢谢。他们提到了我读过的老虎,但很困惑。我确实得到了一个 TIGER 下载,里面有一堆东西,比如 shapefile(更混乱)。他们说他们的地图文件来自 TIGER,但我找不到 TIGER 在哪里有可用的地图(他们网站上 census.gov 的链接说它已于 2010 年 5 月退役)。如果我不打算使用地图服务,获取地图是我需要做的事情之一。 :) TIGER 是一组数据,可帮助按人口划分对地理进行分类...有一个python script 可用于直接解析格式...或者您可以从Open PHI.com 下载SQL 格式 谢谢,我去看看。从他们的主页上看到这个? “该地图来自 TIGER/Line 美国人口普查数据。”这就是我要获得这样的地图的意思(是否有足够的数据来生成地图或者他们从哪里得到的?)。 @mapapp 只要您不为您的应用程序收费,您就可以免费使用谷歌地图...否则地图许可证可能超出您的预算(大约 1 万美元/年) .我将数据显示为KML on google maps,因为我所做的大部分工作都是为自己的研究进行数据挖掘。 KML 的好处是您使用 google 的渲染引擎进行地图、缩放和点放置……您只需在地图上提供纬度/经度/描述 @mapapp 我不确定您将如何使用这些数据,或者您所在城镇的数据有多精细......它可能有足够的细节,但可能值得您花时间看

以上是关于如何为我的城镇创建基于地图的应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何为我的 Google 地图应用使用具有 Google Play 服务依赖项的非 Nexus 5 模拟器

你如何为不基于文本的东西创建 UIMenuController?

如何为基于 JS、Kendo 和 Jquery 的网站创建原生应用程序 [关闭]

如何为 iOS 应用程序构建内部地图导航?

如何为地图创建自己的比较器?

如何为我的 C# 应用程序创建产品密钥?