Google maps KM Bounds Box повторно применяет себя на карте zoom - PullRequest
0 голосов
/ 19 мая 2010

У меня есть карта, на которой я применяю пользовательское наложение с использованием наложения KMbox , чтобы указать, где, по моему мнению, находится общая точка интереса пользователей. Я хочу показать эту карту пользователю и позволить ему нажать на карту, чтобы получить точное совпадение их POI.

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

Вот мой код для добавления маркера на карту.

 function addMarker(location) {

        if(KmOverlay)
        {
            KmOverlay.remove();
        }
        if(last_marker)
        {
            last_marker.setMap(null);
        }

        marker = new google.maps.Marker({
            position: location,
            map: map
        });

        // Keep track for future unsetting...
       last_marker = marker;     
    }

И чтобы показать карту у меня есть эта функция.

function show_map(lt, ln, zoom, controls, marker) 
{
    var ltln = new google.maps.LatLng(lt, ln);
    var vars = {
        zoom: zoom,
        center: ltln,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        navigationControl: controls,
        navigationControlOptions: {style: google.maps.NavigationControlStyle.ZOOM_PAN} ,
        mapTypeControl: false,
        scaleControl: false,
        scrollwheel: false
    };

    map = new google.maps.Map(document.getElementById("map_canvas"), vars);

    KmOverlay = new KmBox(map, new google.maps.LatLng(lat, lon), KmOpts);
    var totalBounds = new google.maps.LatLngBounds();
    totalBounds.union(KmOverlay.getBounds());


    google.maps.event.addListener(map, 'click', function(event) {
        addMarker(event.latLng);
    });

}

У меня есть рабочий пример по следующей ссылке здесь

1 Ответ

0 голосов
/ 31 мая 2010

исправили это, используя метод setMap () в KmOverlay и передав значение null в качестве параметра.

например:

function addMarker(location) {

    if(KmOverlay)
    {
        KmOverlay.setMap(null);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...