【问题标题】:Google maps watchposition { setzoom() } overrides user zooming谷歌地图观察位置 { setzoom() } 覆盖用户缩放
【发布时间】:2012-01-11 02:30:05
【问题描述】:

嘿,伙计们,我终于让我的谷歌地图按照我想要的方式工作了,但我不希望我的缩放阻止用户放大自己(这会一直重置它),我在 setZoom 上设置了一个条件只让它在第一个 watchposition() 时触发,但如果我这样做,那么地图出于某种原因处于最大缩放状态。

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);
            }
        }

【问题讨论】:

    标签: javascript jquery google-maps google-maps-api-3 geolocation


    【解决方案1】:

    addMarker 上的属性 'bounds' 将覆盖缩放设置,因此将其更改为 'bounds':false

    【讨论】:

      猜你喜欢
      • 2013-09-17
      • 2012-02-05
      • 1970-01-01
      • 2019-03-20
      • 1970-01-01
      • 1970-01-01
      • 2017-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多