Определение другого масштаба по умолчанию для карты пользовательского интерфейса JQuery даже с маркером - PullRequest
5 голосов
/ 09 сентября 2011

Я собирал информацию в Интернете для ответа на этот вопрос, но в основном я хочу, чтобы приведенный ниже код делал именно то, что он делает ...

        $(function() {

            $('#map_canvas').gmap().bind('init', function(ev, map) {
                $('#map_canvas').gmap('addMarker', { 'position': '57.7973333,12.0502107', 'bounds': true }).click(function() {
                    $('#map_canvas').gmap('openInfoWindow', { 'content': '134 Some Street Name, postcode and such' }, this);
                });
            });

        });

    </script>

Однако,этот вид карты увеличен, и я хочу иметь возможность контролировать его, но не выходить за его пределы.Я пытался использовать:

$ ('# map_canvas'). Gmap ('option', 'zoom', 7);

ниже функции, но она ничем не отличается.Как я могу контролировать масштаб карты по умолчанию до того, как пользователь нажмет или перетащит что-нибудь?

Спасибо!

Ответы [ 3 ]

8 голосов
/ 25 сентября 2011

Установите масштаб в конструкторе gmap ({zoom: 7}).Если вы установите для свойства bounds значение true в методе addMarker, он переопределит любой предыдущий масштаб, установленный в любом месте (с помощью параметров или в конструкторе).Пример установки масштабирования и установки границ на false:

$('#map_canvas').gmap({'zoom':7, 'center': '57.7973333,12.0502107'}).bind('init', function(ev, map) {
                $('#map_canvas').gmap('addMarker', { 'position': map.getCenter(), 'bounds': false}).click(function() {
                    $('#map_canvas').gmap('openInfoWindow', { 'content': '134 Some Street Name, postcode and such' }, this);
                });
            });
2 голосов
/ 07 декабря 2011
$(function() {
      $('#map_canvas').gmap().bind('init', function(ev, map) {
           $('#map_canvas').gmap('addMarker', { 'position': '57.7973333,12.0502107', 'bounds': false }).click(function() {
           $('#map_canvas').gmap('openInfoWindow', { 'content': '134 Some Street Name, postcode and such' }, this);
            });
      });
      $('#map_canvas').gmap({'zoom': someNumber});
});

Измените «границы» на ложь всякий раз, когда вы добавляете маркер.Затем вы можете установить любой уровень масштабирования, который вам нравится.

1 голос
/ 13 сентября 2011

Самый простой способ, который я нашел, - это зайти в jquery.ui.map.js и изменить там набор по умолчанию. Это просто. Я установил мой на 15.

options: {
center: (google.maps) ? new google.maps.LatLng(0.0, 0.0) : null,
mapTypeId: (google.maps) ? google.maps.MapTypeId.ROADMAP : null,
zoom: 15
},
...