मेरे पास एक काफी परिष्कृत मानचित्र एप्लिकेशन है जो कई कस्टम मार्करों और ऐसे हैंडल करता है। मेरे पास resizeWindow नामक एक फ़ंक्शन है जिसे मैं श्रोता में कॉल करता हूं जब भी स्क्रीन बदल जाती है, नक्शा नई सीमाओं की गणना करके और आकार बदलने के लिए खुद को फिर से चलाता है। यह इस तरह दिखता है:मैं Google मानचित्र API v3.0 के साथ रेड्रो को कैसे बल दूं?
window.onresize = function(event) { fitmap(); };
और समारोह आकार बदलने के लिए है:
function fitmap(id) {
var coords = [];
var newlatlng = new google.maps.LatLng(projlat, projlng);
coords.push(newlatlng);
for (var i=0; i<markers[id].length; i++) {
newlatlng = new google.maps.LatLng(markers[id][i].latitude, markers[id][i].longitude);
coords.push(newlatlng);
}
}
var bounds = new google.maps.LatLngBounds();
for (var i = 0, LtLgLen = coords.length; i < LtLgLen; i++) {
bounds.extend (coords[i]);
}
map.fitBounds(bounds);
और इस महान काम करता है जब मैं वास्तव में विंडो का आकार बदलने। लेकिन ...
मेरे पास खिड़की के दाहिने तरफ एक मेनू नीचे जा रहा है। मैं स्क्रीन से उस मेनू को स्थानांतरित करने के लिए jquery.animate का उपयोग करता हूं। मैं फिटमैप फ़ंक्शन को एक चरण प्रक्रिया (या अंत में केवल एक बार) के रूप में कॉल करता हूं और यह मानचित्र को फिर से नहीं हटाएगा।
$('#rightSide').animate({ right:"-240px" }, {
duration:1000,
step: function(now,fx) {
fitmap();
}
});
मैंने पढ़ा है और इस पर पढ़ सकते हैं और ऐसा लगता है गूगल मैप्स एपीआई v3.0 कि redrawing नहीं होगा अगर वास्तव में कुछ भी नहीं बदलता है की कुछ अजीब है कि वहाँ है। इस मामले में, मेरी उपलब्ध विंडो स्क्रीन चौड़ाई से बदलती है - मेनू से वास्तविक पूर्ण स्क्रीन तक। लेकिन कोई redraw होता है।
मैंने google.maps.event.trigger (मानचित्र, 'आकार बदलें') की कोशिश की है; और यह या तो काम नहीं करता है।
क्या Google मानचित्र को फिर से निकालने के लिए मजबूर करने का कोई तरीका है?
क्या आप हमें एक लिंक दे सकते हैं? –
दाहिने तरफ मेनू के ऊपरी बाईं ओर एक छोटा सा टैब है। –
इसके अलावा, यदि आपके पास अपनी ब्राउज़र विंडो आकार में सेट है, तो यह परिवर्तन ज़ूम परिवर्तन को मजबूर करता है, फिर यह काम करता है। यह तब होता है जब कोई ज़ूम परिवर्तन आवश्यक नहीं है कि यह समायोजित नहीं होगा। मैंने 1-चरणीय ज़ूम आउट करने और ज़ूम इन करने की भी कोशिश की लेकिन उसने इसे ठीक नहीं किया। –