Как изменить свойство перетаскивания Google Maps для карты (а не маркера)? - программирование

Как изменить свойство перетаскивания Google Maps для карты (а не маркера)?


В Справочной системе Google Maps v3, я вижу, что существует метод setDraggable(boolean), который можно применить к маркеру карты.

Тем не менее, я хочу установить setDraggable на true на карту, а не на маркер карты.

Я установил свойство draggable в false в mapOptions, но я не знаю, как установить это для true позже... map.setDraggable(true) не работает:

    // object literal for map options
    var myOptions =
    {
        center: new google.maps.LatLng(37.09024, -95.712891),
        zoom: 4, // smaller number --> zoom out
        mapTypeId: google.maps.MapTypeId.TERRAIN,

        // removing all map controls
        disableDefaultUI: true,

        // prevents map from being dragged
        draggable: false,

        // disabling all keyboard shortcuts
        keyboardShortcuts: false,

        disableDoubleClickZoom: true,

        // do not clear the map div     
        noClear: true
    };

    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    map.setDraggable(true); // does NOT work!
4b9b3361

Ответ 1

Try:

map.setOptions({draggable: true});

Ответ 2

Я ввел свой код в этом разделе, и он работал на мобильных и настольных компьютерах

function initialize()
    {
    var mapProp = {
      center:myCenter,
      zoom:5,
      draggable:false,
      mapTypeId:google.maps.MapTypeId.ROADMAP
      };

Ответ 3

setDraggable не используется в классе карты.

Он используется в:

Класс маркера,
Класс полилинии,
Класс многоугольника,
Rectangle class и в классе Circle.

В вашем случае вы можете просто использовать:

map.draggable = true;