0

我正在开发自定义地图应用程序,我想使用谷歌地图图块作为背景?api中有一个类TileProvider,但我不知道每次尝试时如何初始化它,就像这样?

TileProvider tileProvider=new TileProvider() {
    @Override
    public Tile getTile(int i, int i2, int i3) {
        return null;  //To change body of implemented methods use File | Settings | File Templates.
    }
};

如何覆盖 getTile 函数以从谷歌地图服务器获取图块?任何示例都将不胜感激?我知道getTile函数需要 x、y 和缩放值才能返回图块。

4

2 回答 2

1

如此快速的答案是,您可以从以下 URL 获取 Google 地图图块:

http://mt1.google.com/vt/lyrs={t}&x={x}&y={y}&z={z} 

其中 {t} 是地图类型(卫星、道路、混合等),其他属性指定坐标和缩放级别。

{t} 的可能值如下:

  • 默认 - 米
  • 仅限道路 - h
  • 道路简化 - r
  • 卫星 - s
  • 卫星混合 - y
  • 地形 - t
  • 地形混合 - p

话虽如此,您确实想确保您所做的事情不违反条款和服务。具体来说,谷歌将允许您缓存他们的图块,前提是您这样做只是为了提高性能,并且您至少每 30 天删除一次他们的图块,最后您不要拉下他们的图块以尝试制作自己的图块地图服务。

于 2016-07-26T15:52:39.960 回答
0

您可能需要阅读 Google 地图服务条款 - https://developers.google.com/maps/terms - 特别是第 10.1.1 节

于 2013-08-21T05:32:45.120 回答