2013-08-26 7 views
57

मैं Google मानचित्र को उत्तरदायी और आकार बदलने के दौरान आकार बदल रहा हूं, जबकि विंडोज़ का आकार बदलता है। मैं इस तरह के रूप में संबंध है अन्य ढेर सवालों पढ़ें:Google मानचित्र उत्तरदायी आकार बदलना

Responsive Google Map? और Center Google Maps (V3) on browser resize (responsive)

दूसरा ढेर सवाल I got a link which helps me with part of the code से

लेकिन मैं अभी भी सफल न हो पाएं। यह कोड मैं का उपयोग कर रहा है जब मैं विंडो का आकार बदलने, नक्शे सब

function initialize() { 
     var mapOptions = { 
     center: new google.maps.LatLng(40.5472,12.282715), 
     zoom: 6, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 
     var map = new google.maps.Map(document.getElementById("map-canvas"), 
       mapOptions); 
    } 
    google.maps.event.addDomListener(window, 'load', initialize); 
    google.maps.event.addDomListener(window, "resize", function() { 
    var center = map.getCenter(); 
    google.maps.event.trigger(map, "resize"); 
    map.setCenter(center); 
    }); 

एचटीएमएल पर आकार परिवर्तन नहीं करता है

<div id="map-canvas"/> 

सीएसएस

html { height: 100% } 
body { height: 100%; margin: 0; padding: 0 } 
#map-canvas { height: 100% } 
+5

आपके प्रश्न ने मेरा उत्तर दिया! धन्यवाद! –

+0

@ GuillermoGutiérrez कौन सा एक? – nilon

+0

@nilon मैंने इसे प्रकाशित नहीं किया था, लेकिन यह जावास्क्रिप्ट एपीआई का उपयोग कर Google मानचित्र में मानचित्र के केंद्र को सेट करने के बारे में था। –

उत्तर

100

में अपने नक्शे चर ले जाएँ एक दायरा जहां घटना श्रोता इसका उपयोग कर सकते हैं। आप अपने प्रारंभिक() फ़ंक्शन के अंदर नक्शा बना रहे हैं और इस तरह से बनाए गए कुछ भी इसका उपयोग नहीं कर सकते हैं।

var map; //<-- This is now available to both event listeners and the initialize() function 
function initialize() { 
    var mapOptions = { 
    center: new google.maps.LatLng(40.5472,12.282715), 
    zoom: 6, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    map = new google.maps.Map(document.getElementById("map-canvas"), 
      mapOptions); 
} 
google.maps.event.addDomListener(window, 'load', initialize); 
google.maps.event.addDomListener(window, "resize", function() { 
var center = map.getCenter(); 
google.maps.event.trigger(map, "resize"); 
map.setCenter(center); 
}); 
+0

शानदार, यह अभी पूरी तरह से काम करता है, क्या हम ज़ूम में भी बदलाव करते हैं जब हम विंडो का आकार बदलते हैं? –

+1

हां, आप map.setZoom (4) पर कॉल कर सकते हैं; या मानचित्र के कॉल करने के बाद आपको ज़ूम के किसी भी स्तर की आवश्यकता है .setCenter()। – rsnickell

+0

हाँ अभी कोशिश की गई है और यह ठीक है, लेकिन -1 या +1 प्राप्त करने के बारे में क्या, मेरा मतलब है, ज़ूमिंग को गतिशील रूप से जोड़ या हटाएं? –

संबंधित मुद्दे