Граничный бокс API Карт Google не расширяется до полного размера - PullRequest
1 голос
/ 23 ноября 2011

Я использую Googles Map API v3. Может кто-нибудь объяснить мне поведение ограничивающих рамок карты?

В зависимости от уровня масштабирования эти границы ведут себя странно - когда я увеличиваю изображение, оно работает как положено - границы растягиваются от нижнего левого угла панели до верхнего правого угла. Как только я уменьшаю масштаб изображения, появляются странности - ограничивающий прямоугольник распадается. Вы можете воспроизвести это с помощью примеров Google и прикрепленного кода. Просто уменьшите масштаб до максимума.

Неправильные ограничивающие рамки действительно раздражают - например, маркеры между ними не находятся в границах карты, хотя они видны.

http://code.google.com/apis/maps/documentation/javascript/examples/map-simple.html

http://www.spotdiving.com/bug.png

var viewportBox;
google.maps.event.addListener(this.map, 'idle', function(event)
{
    var bounds = map.getBounds();

    var ne = bounds.getNorthEast();
    var sw = bounds.getSouthWest();

    var viewportPoints = [
        ne, new google.maps.LatLng(ne.lat(), sw.lng()),
        sw, new google.maps.LatLng(sw.lat(), ne.lng()), ne
    ];

    if (viewportBox)
    {
        viewportBox.setPath(viewportPoints);
    } else
    {
        viewportBox = new google.maps.Polyline({
            path: viewportPoints,
            strokeColor: '#FF0000',
            strokeOpacity: 1.0,
            strokeWeight: 4
        });
        viewportBox.setMap(map);
    }
});
...