如何使用自己的地图而不是谷歌地图?

Posted

技术标签:

【中文标题】如何使用自己的地图而不是谷歌地图?【英文标题】:How do I use my own maps instead of google maps? 【发布时间】:2010-03-20 00:24:34 【问题描述】:

是否可以在我的应用程序中使用我自己的地图而不是谷歌地图。我该怎么做...我应该去哪里看?

【问题讨论】:

我认为他想利用 Google Maps 的 UI,但使用自己的地图材料。 是的,你说的是什么平台? 【参考方案1】:

我认为您需要开放街道地图 (OSM)。我的 Droid 上有一个小 GPS 应用程序(Maverick Pro),它可以使用 3 种类型的地图:google、bing 和“OSM”。后者似乎是你需要的: http://wiki.openstreetmap.org/wiki/Main_Page

【讨论】:

【参考方案2】:

你需要一些东西:

    有关您的地理数据的来源,在美国,请参阅人口普查局发布的 TIGER Line 数据。

    将地理数据渲染成具有视觉意义的地图的软件,例如 Mapnik。使用类似 OpenLayers 的东西来生成 人们期望的可移动性和良好的用户功能。

    将渲染的地图高效地交付给您的用户的软件,即 TileCache。

这里有一个很好的 FOSS 方法总结:http://m.alistapart.com/articles/takecontrolofyourmaps

【讨论】:

【参考方案3】:

您可能想查看MapTiler,这是一个用于谷歌地图(和其他地图系统)的开源地图平铺工具,可在 Windows 和 Mac OS X 上运行。

MapTiler 将通过一个简单的 GUI 向导为您自动完成平铺过程,此外,一旦平铺过程完成,它还将生成一个简单的 html 查看器,您可以在其中立即看到结果。

Custom Map Tile Overlays 在 Google Maps API 中是一个相当高级的主题(甚至文档也会用红色警告您)。不过,我相信您将能够使用和理解 MapTiler 的 HTML 查看器。

【讨论】:

【参考方案4】:

PostGIS、Geoserver、GeoWebCache、OpenLayers、+ GeoEXT 为您提供所需的所有软件。 数据由您决定,上面的一些示例是好主意。

【讨论】:

以上是关于如何使用自己的地图而不是谷歌地图?的主要内容,如果未能解决你的问题,请参考以下文章

在谷歌地图javascript api中 - 如何移动地图而不是标记

如何使用 CoreLocation 框架而不是谷歌地图 API 获取任何给定地址的坐标?

如何获取谷歌地图起始点的路线

使用json而不是Geocoder从谷歌地图获取位置地址

使用位置坐标值在谷歌地图中绘制路线图

如何从谷歌地图中删除特定的多个标记而不是单个或所有标记