Google maps watch watch {setzoom ()} отменяет пользовательское масштабирование - PullRequest
0 голосов
/ 02 декабря 2011

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

function CreateMap() {
            var zoomWithoutLatLng = 13;
            var zoomWithLatLng = 15;
            Data.$paymentMap.gmap({'center': GetLatLng(), 'zoom' : zoomWithoutLatLng}).bind('init', function(evt, map) {
                Data.$paymentMap.gmap('watchPosition', function(position, status) {
                    if (status === 'OK') {
                        Data.$paymentMap.gmap({'zoom' : zoomWithLatLng});


                        var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
                        var userMarker = Data.$paymentMap.gmap('get', 'markers > user' );
                        if (!userMarker) {
                            Data.$paymentMap.gmap('addMarker', { 'id': 'user', 'position': GetLatLng(), 'bounds': true) });
                        } else {
                            userMarker.setPosition(latlng);
                            map.panTo(latlng);
                        }
                    } 
                });
            });
        }        
        function GetLatLng() {
            if (google.loader.ClientLocation != null) {
                return new google.maps.LatLng(google.loader.ClientLocation.latitude, google.loader.ClientLocation.longitude);
            }
        }

1 Ответ

1 голос
/ 09 декабря 2011

Свойство 'bounds' в addMarker переопределит настройку масштабирования, поэтому измените его на 'bounds': false

...