2

我正在尝试在我的项目中实现地图服务。该项目主要针对说俄语的国家。但未来我希望扩大受众。问题是不同的服务显示不同的名称。

OSM 显示本地名称 - 例如中国城镇对我来说不清楚。谷歌地图显示 - 用户以他的母语看到世界上所有的名字:如果我是俄罗斯人,我可以看到所有俄语语言的名字,包括美国街道的名字。但是谷歌地图现在对我来说成本很高。

如何解决问题以及您使用了哪些免费/便宜的服务?Сartography 不是项目的主要特征,但很重要。

4

1 回答 1

0

这不是一个完整的答案,但可能会有所帮助。有两种方法可以使用 OpenStreetMap 数据解决问题。1. 有时会提供俄文名称:标签为 name:ru。但是,它们的数量很少。它们主要用于国家和主要城市。例如,伦敦的名称为:ru=Лондон。2. 但是如果你想让所有没有名字的东西出现在西里尔字母中,你必须从最方便的来源进行音译:本地名称,如果它是罗马或希腊语等易于音译的脚本;或英文名称(如),如果没有。

因此,采用第二种方法,我的做法是下载 OSM 数据并对其进行预处理,在不存在的地方插入一个音译名称:ru,然后渲染地图(例如,使用 Mapnik,这是免费的),对所有标签使用修改为使用 name:ru 的样式表(如果可用)。

然而,这是一种离线解决方案。我意识到你可能想要一些在线的东西。也许您可以将 Mapbox 与在线矢量切片一起使用,在渲染之前再次以某种方式进行预处理。

于 2015-11-27T19:05:09.323 回答