2012-12-18 7 views
14


W Google Maps v3 reference widzę, że istnieje metoda setDraggable(boolean), którą można zastosować do znacznika mapy.

Jednak chcę ustawić setDraggable do true na mapie, nie na mapie znacznika.

mam ustawić właściwość draggable do false w mapOptions, ale nie wiem jak ustawić to true później ...   map.setDraggable(true) robi nie pracy:

Jak zmienić właściwość przeciągania mapy Google Maps (nie znacznik)?

// 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! 

Odpowiedz

20

Wypróbuj:

map.setOptions({draggable: true}); 
+0

Thanks @Marcelo, że załatwiło sprawę! Nie wiedziałem o 'setOptions' i o tym, jak łatwo jest uzyskać dostęp do opcji mapy w ten sposób. –

+0

@Marcelo, dziękuję bardzo! –

1

Wprowadziłem mój kod w tej sekcji i to wo rked na komórkę i komputer stacjonarny

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

setDraggable nie jest używany w klasie Map.

Jest on stosowany w:

Marker Klasa,
klasa Łamana,
Polygon klasa,
Prostokąt klasa w klasie Koło.

W twoim przypadku można po prostu użyć:

map.draggable = true;