jquery ui地图设置缩放级别

jquery-ui-map set zoom level

本文关键字:缩放 设置 ui 地图 jquery      更新时间:2023-09-26

我有以下关于如何映射的代码。除了缩放参数外,其他一切都很好。无论我为缩放设置了什么,它总是显示相同的缩放级别。我能做什么?

$('#pagemap').live("pageshow", function() {
            $('#map_canvas').gmap().bind('init', function(evt, map) {
                $('#map_canvas').gmap('getCurrentPosition', function(position, status) {
                        if ( status === 'OK' ) {
                            var clientPosition = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
                            $('#map_canvas').gmap('option', 'mapTypeId', google.maps.MapTypeId.SATELLITE);
                            $('#map_canvas').gmap('option', 'zoom', 13);            
                            $('#map_canvas').gmap('addMarker', {'position': clientPosition, 'bounds': true});
                        }
                });   
            });
      });

您需要将标记的"bounds"选项更改为false。

$('#map_canvas').gmap('addMarker', {'position': clientPosition, 'bounds': false});

如果将属性边界设置为true,则地图将自动计算视口并缩放,从而覆盖构造函数中的任何缩放设置区块报价

这是更多信息的链接

我遇到了该解决方案的问题。如果我将边界设置为false,贴图将保持在其初始中心坐标的中心。好吧。那么,为什么我的地图是以一个点为中心,一个大头针在很远的地方呢?好的,没问题。但是,如果我在添加标记后仍然想设置特定的缩放级别?

$("your-selector").gmap('addMarker', { 
    'position': latlng, 
    'bounds': true
}, function(map, marker) {
    map.set('zoom', 12);
}).click(function() {
    $(this.container).gmap('openInfoWindow', { 'content': 'TEXT_AND_HTML_IN_INFOWINDOW' }, this);
});

您只需回调gmap函数。但是人们,现在不是纠正API文档中所有断开的链接的时候了吗?现在不是为任何插件编写指定良好且清晰的Javascript文档的时候了吗?让我们互相帮助吧,这种方式很复杂。我们正在浪费很多时间。

试试这个,看看代码中的"缩放:9"缩放级别。。。

<div id="MyDivScrolling">
    <div>
        <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=AIzaSyC8KY7rkZP7Xyq5oVM0nssUc4OPIP7MQtw&callback=initMap"></script>
        <script type="text/javascript">
            var markers = [{
            "title": 'Havana',
            "lat": '23.1330200',
            "lng": '-82.3830400',
            "description": 'José Martí International Airport, Havana'
        }
    ,
         {
             "title": 'Tampa',
             "lat": '27.964157',
             "lng": '-82.452606',
             "description": 'Tampa International Airport, Tampa'
         }
    ,
         {
             "title": 'Orlando',
             "lat": '28.538336',
             "lng": ' -81.379234',
             "description": 'Orlando International Airport, Orlando'
         }
    ,
        {
            "title": 'Havana',
            "lat": '23.1330200',
            "lng": '-82.3830400',
            "description": 'José Martí International Airport, Havana'
        }
    ,
        {
            "title": 'Havana',
            "lat": '23.1330200',
            "lng": '-82.3830400',
            "description": 'José Martí International Airport, Havana'
        }
      ,
        {
            "title": 'Miami',
            "lat": '25.7742700',
            "lng": '-80.1936600',
            "description": 'Miami International Airport, Miami'
        }
    ,
        {
            "title": 'Camagüey-Ignacio Agramonte',
            "lat": '21.416666666667',
            "lng": '-77.866666666667 ',
            "description": 'Camagüey-Ignacio Agramonte Airport, Camagüey'
        }

         ,
          {
              "title": 'Camagüey-Ignacio Agramonte',
              "lat": '21.416666666667',
              "lng": '-77.866666666667 ',
              "description": 'Camagüey-Ignacio Agramonte Airport, Camagüey'
          }
           ,
         {
             "title": 'Tampa',
             "lat": '27.964157',
             "lng": '-82.452606',
             "description": 'Tampa International Airport, Tampa'
         }];
            window.onload = function () {
                var mapOptions = {
                    center: new google.maps.LatLng(markers[0].lat, markers[0].lng),
                    zoom: 9,
                    mapTypeId: google.maps.MapTypeId.Streapmap
                };
                var map = new google.maps.Map(document.getElementById("dvMap"), mapOptions);
                var infoWindow = new google.maps.InfoWindow();
                var lat_lng = new Array();
                var latlngbounds = new google.maps.LatLngBounds();
                for (i = 0; i < markers.length; i++) {
                    var data = markers[i]
                    var myLatlng = new google.maps.LatLng(data.lat, data.lng);
                    lat_lng.push(myLatlng);
                    var marker = new google.maps.Marker({
                        position: myLatlng,
                        map: map,
                        title: data.title
                    });
                    latlngbounds.extend(marker.position);
                    (function (marker, data) {
                        google.maps.event.addListener(marker, "click", function (e) {
                            infoWindow.setContent(data.description);
                            infoWindow.open(map, marker);
                        });
                    })(marker, data);
                }
                map.setCenter(latlngbounds.getCenter());
                map.fitBounds(latlngbounds);
                //***********ROUTING****************//
                //Intialize the Path Array
                var path = new google.maps.MVCArray();
                //Intialize the Direction Service
                var service = new google.maps.DirectionsService();
                //Set the Path Stroke Color
                var poly = new google.maps.Polyline({ map: map, strokeColor: 'Blue' });
                //Loop and Draw Path Route between the Points on MAP
                for (var i = 0; i < lat_lng.length; i++) {
                    if ((i + 1) < lat_lng.length) {
                        var src = lat_lng[i];
                        var des = lat_lng[i + 1];
                        path.push(src);
                        poly.setPath(path);
                        service.route({
                            origin: src,
                            destination: des,
                            travelMode: google.maps.DirectionsTravelMode.DRIVING
                        }, function (result, status) {
                            if (status == google.maps.DirectionsStatus.OK) {
                                for (var i = 0, len = result.routes[0].overview_path.length; i < len; i++) {
                                    path.push(result.routes[0].overview_path[i]);
                                }
                            }
                        });
                    }
                }
            }
        </script>
        <div class="MainSliderItem2 ImagesContainerItem">
            <div id="dvMap" style="width: 100%;height: 490px;position: relative;overflow: hidden;background-color: rgb(229, 227, 223);max-width: 80%;margin: 98px auto;">
            </div>
        </div>
    </div>
</div>