Android谷歌地图Api Tileprovider reapeating x

时间:2015-02-27 18:18:29

标签: java android api google-maps tiles

我想使用自定义图块为我的应用构建地图

这是我的磁贴提供商的代码:

    TileProvider tileProvider = new UrlTileProvider(256, 256) {
        @Override
        public synchronized URL getTileUrl(int x, int y, int zoom) {

            Integer tileRange = 1 << zoom;

            if (x < 0 || x >= tileRange) {
                return null;
            }


            String s = String.format(Locale.US, MOON_MAP_URL_FORMAT, zoom, x, y);
            URL url = null;

            try {
                url = new URL(s);
            } catch (MalformedURLException e) {
                throw new AssertionError(e);
            }



            return url;
        }
    };

    mMoonTiles = map.addTileOverlay(new TileOverlayOptions().tileProvider(tileProvider));

但问题是,当向右滚动时,地图会重复拼贴。当我滚动顶部或底部时不会发生此问题。 是否可以禁用x轴的重复?

我已经测试了

if (x < 0 || x >= tileRange) {
                    return null;
}

来自google maps api文档。 我知道普通的谷歌地图也会重复x轴。 http://i.stack.imgur.com/byva9.png

1 个答案:

答案 0 :(得分:1)

尝试更改if (x < 0 || x >= tileRange) { ...

if (x < 0 || x > tileRange - 1) { ...