2012-09-23 10 views
23

प्रारंभ में, मेरा नक्शा उपयोगकर्ता के वर्तमान स्थान की ओर इशारा करेगा। मैं एक विकल्प दे रहा हूं जहां वह एक ऑटो पूर्ण बॉक्स से एक शहर चुन सकता है, एक बार जब वह ऑटो पूर्ण से नया स्थान चुनता है, तो मुझे एक नया (लैट, एलएनजी) निर्देशांक मिलेगा जिसके लिए मैं अपना नक्शा फोकस करना चाहता हूं।मार्करों को मिटाने के बिना Google मानचित्र के केंद्र को गतिशील रूप से कैसे बदलें?

मैप्स एपीआई के अपने ज्ञान से, मैं इसे केंद्र के रूप में बदलने के बारे में सोचने में सक्षम हूं (हालांकि, केंद्र केवल मानचित्र लोड करते समय ही सेट किया गया है)। मैं इस फोकस को Google मानचित्र पर उपयोगकर्ता चयनित स्थान पर प्राप्त करना चाहता हूं। क्या कोई मेरी मदद कर सकता है। अग्रिम में धन्यवाद। Google मानचित्र जेएस एपीआई v3 का उपयोग करना।

उत्तर

59

आप मानचित्र को map.setCenter(LatLng) के साथ आसानी से स्थानांतरित कर सकते हैं। यह विधि किसी अन्य मार्कर का उपयोग नहीं करेगी और मौजूदा मार्कर मिटा नहीं पाएगी। आप मानचित्र को panTo(LatLng) फ़ंक्शन के माध्यम से भी स्थानांतरित कर सकते हैं। नक्शा शुरू होने के बाद दोनों विधियां भी उपलब्ध हैं।

Here is the documentation for these methods

+3

'Panto()' बेहतर 'setCenter' है कि यह आपको एक एनीमेशन देता है। यह उपयोगी है, क्योंकि 'setCenter' का उपयोग करते समय ग्राहकों को ऐसा सिरदर्द नहीं होगा। – Soaku

13

जोन्स सही है, तो आप उपयोग करने की आवश्यकता setCenter()

function initialize() 
{ 
    var mapDiv = document.getElementById('MapDiv'); 
    var map; 
    var address = "Vilnius, Lithuania"; 
    var geocoder = new google.maps.Geocoder(); 
    // Get LatLng information by name 
    geocoder.geocode({ 
     "address": address 
     }, function(results, status){ 
       map = new google.maps.Map(mapDiv, { 
       // Center map (but check status of geocoder) 
       center: results[0].geometry.location, 
       zoom: 8, 
       mapTypeId: google.maps.MapTypeId.ROADMAP, 
      }) 
     }); 
} 
+2

उदाहरण के लिए धन्यवाद दोस्त - सेट सेंटर ने काम किया; Geocode उदाहरण के लिए +1 :) –

+1

आपका स्वागत है :) जियोकोडर सिर्फ एक संकेत है, अगर आप इसका उपयोग करना चाहते हैं –

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

  • कोई संबंधित समस्या नहीं^_^