2013-01-17 18 views
12

यह एक अजीब सवाल हो सकता है ...Google मानचित्र एपीआई: नक्शा का सेट केंद्र ऑफसेट पर पिक्सल में सेट करें?

मैं अपने वेबपृष्ठ पर कस्टम मानचित्र एम्बेड करने के लिए Google मानचित्र एपीआई का उपयोग कर रहा हूं। मैं एक समारोह के साथ lon/lat निर्देशांक पास करता हूं और मध्य में इस बिंदु "केंद्रित" के साथ एक नक्शा खींचा जाता है। (मेरा नक्शा फ्रेम 300px ऊंचा है, इसलिए मार्कर लगभग 150px पर है)

चूंकि मैं कस्टम infoWindows/Boxes का उपयोग भी कर रहा हूं, मैं मानचित्र के केंद्र को थोड़ा नीचे ले जाना चाहता हूं।

मुझे पता है कि मैं lon/lat निर्देशांक में एक अलग केंद्र सेट कर सकता हूं लेकिन यह वह नहीं है जिसे मैं ढूंढ रहा हूं। इसके लिए प्रत्येक मानचित्र को मार्कर के निर्देशांक और केंद्र के निर्देशांक के साथ पास करने की आवश्यकता होगी जो मैं चाहता हूं।

मैं इसे और अधिक सरल बनाना चाहता हूं।

क्या मानचित्र के केंद्र को कुछ पिक्सल नीचे ले जाना संभव है?

center: +30px, :)

var latlng = new google.maps.LatLng(ll[0], ll[1]); // latitude and longitude 
    var options = { 
    zoom: zoom, 
    //center: c, 
    mapTypeId: google.maps.MapTypeId.ROADMAP, 
    mapTypeControl: false, 
    disableDefaultUI: true, 
    scrollwheel: scroll, 
    streetViewControl: false, 
    navigationControlOptions: { 
     style: google.maps.NavigationControlStyle.SMALL 
    } 
} 

किसी भी विचार मैं यह कैसे कर सकता है जैसा

? कोई अन्य चाल या विचार?

+0

इस सवाल का जवाब मदद कर सकता है: http://stackoverflow.com/questions/2488999/google-maps-how-to-prevent-infowindow- से-स्थानांतरण-मानचित्र-मानचित्र – Marcelo

+0

ठीक है, मेरे मामले में विंडो पेज लोड पर पहले ही दिखाई दे रही है। मुझे मार्कर पर क्लिक करने की ज़रूरत नहीं है इसलिए 'ऑटोपैन' वास्तव में मेरी समस्या को प्रभावित नहीं करता है। – matt

+0

ऑटोपैन उस मानचित्र को संदर्भित करता है जो जानकारी को समायोजित करने के लिए पैन किया जा रहा है, जब यह खुलता है, तो मार्कर पहले से दिखाई देने पर कोई फर्क नहीं पड़ता है। हालांकि कुछ पिक्सेल से केंद्र को स्थानांतरित करना आसान है, लेकिन मेरे पास अभी समय नहीं है। यदि प्रश्न अभी भी अनसुलझा हुआ है, तो मैं बाद में कोड का एक टुकड़ा पोस्ट करूंगा। – Marcelo

उत्तर

28

कॉल नक्शे के panBy-विधि

mapObject.panBy(0,30) 
+0

बिल्कुल सही। ठीक वही जो मेरे द्वारा खोजा जा रहा था। – matt

+3

हाहा, अच्छा समाधान! (+ 1)। मैं प्रक्षेपण का उपयोग करने जा रहा था और कुछ अनावश्यक रूप से जटिल करता था। अधिक कॉफी की आवश्यकता है! ;-) – Marcelo