2

どのようにマップするかについて、次のコードがあります。zoom パラメーターを除いて、すべて正常に動作します。ズームに何を設定しても、常に同じズームレベルが表示されます。私に何ができる?

$('#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});

                        }
                });   
            });
      });
4

3 に答える 3

5

マーカーの「境界」オプションをfalseに変更する必要があります。

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

プロパティの境界をtrueに設定すると、マップはビューポートを計算して自動的にズームし、コンストラクターのBlockquoteで設定されたズームをオーバーライドします。

これは詳細情報へのリンクです

于 2012-08-04T00:16:34.057 に答える
0

私はその解決策で問題に直面していました。境界を 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 ドキュメントを作成する時ではないでしょうか? お互いに助け合いましょう、この道はかなり複雑です。私たちは多くの時間を失っています。

于 2015-04-05T14:10:14.213 に答える
0

これを試してください。ズームレベルのコードでこの「ズーム: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>
于 2016-11-18T17:31:28.233 に答える