Пользовательские типы карт: повторяющиеся карты и маркеры. Как добавить отступы на карту?

С API Карт Google (v3) яМы создали собственный тип карты для вымышленного игрового мира. По умолчанию карты, даже пользовательские типы карт, повторяются по горизонтали (см. Изображение ниже).

 Увеличенное изображение здесь

Можно ли предотвратить повторение карты по горизонтали? Для моей карты она не представляет планету или сферический мир, поэтому повторять ее по горизонтали всегдавообще не имеет смысла. Я понял, как просто не загружать плитки для повторяющихся карт слева и справа, вот так:

 Увеличенное изображение здесь

ОДНАКО, когда вы создаете маркеры, маркеры по-прежнему отображаются для всех повторяющихся карт:

 Увеличенное изображение здесь

Можно ли предотвратить повторение маркеров? Или можно вообще не повторять карту? Так я нене приходится иметь дело с повторяющимися маркерами?

Работа вокруг: ограничение панорамирования за пределы карты I 'Вы читали различные обходные пути, которые обсуждают просто ограничение того, как далеко пользователь может перемещаться влево или вправо. Это победилоэто не работает для меня, потому что я должен позволить пользователю полностью уменьшить масштаб и просмотреть всю карту сразу. Если они полностью уменьшают масштаб, повторяющиеся маркеры все еще видны, что недопустимо.

Можно ли добавить кучу отступов на карту? Таким образом, между картами остается много места:

 Увеличенное изображение здесь

Если бы я смог добавить достаточное количество отступов, то ограничение панорамирования сработало бы для меня, потому что любые повторяющиеся маркеры могли быть отброшены отступом настолько далеко, что пользователь никогда их не увидит.

Наконец мой код, довольно простой:

(примечание: карта мозаичных изображений I 'м, пока не доступны онлайн)



    
        
        
            html, body { height: 100%;}
            #map_canvas { height: 1000px;}
        


    
    
        

        
        

            var options =
            {
                getTileUrl: function(coord, zoom)
                {
                    // Don't load tiles for repeated maps
                    var tileRange = 1 < zoom;
                    if ( coord.y < 0 || coord.y >= tileRange || coord.x < 0 || coord.x >= tileRange )
                        return null;

                    // Load the tile for the requested coordinate
                    var file = 'images/zoom' + zoom + '/tile_' + zoom + '_' + (coord.x) + '_' + (coord.y) + '.jpg';

                    return file;
                },
                tileSize: new google.maps.Size(256, 256),
                minZoom: 1,
                maxZoom: 9,
                radius: 1738000, // I got this from an example in the api, I have no idea what this does
                name: 'Map',
            };

            var mapOptions =
            {
                center: new google.maps.LatLng(0,0),
                zoom: 2,
                backgroundColor: '#000',
                streetViewControl: false,
                mapTypeControl: false
            };

            var map = new google.maps.Map(document.getElementById('map_canvas'),mapOptions);
            var mapType = new google.maps.ImageMapType(options);
            map.mapTypes.set('map', mapType);
            map.setMapTypeId('map');

            var marker = new google.maps.Marker({
                    position: new google.maps.LatLng(0,0),
                    map: map,
                    title: "Test"
            });