2010-12-10 11 views
19

क्या कोई मुझे बता सकता है कि Google मानचित्र api v3 पर नाम से देश पर कैसे केन्द्रित किया जाए? मुझे पता है कि इसे v2 में कैसे करना है, लेकिन इसे v3 में करने की आवश्यकता है।नाम से देश पर केंद्र Google नक्शे api v3

चीयर्स!

उत्तर

43

आप देश के लेट/एलएनजी को देखने के लिए जियोकोडिंग का उपयोग कर सकते हैं।
Google से इस sample पर एक नज़र डालें।

मूल रूप से आप कुछ इस तरह करने की जरूरत है:

geocoder = new google.maps.Geocoder(); 

आप चाहते हैं:

var country = "Germany"; 
var geocoder; 

geocoder.geocode({'address' : country}, function(results, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
     map.setCenter(results[0].geometry.location); 
    } 
}); 

अपने इनिशियलाइज़ समारोह में आप इस तरह जियोकोडर वस्तु का मूल्य सेट करना होगा कसरत करने की आवश्यकता है कि एक उचित ज़ूम स्तर क्या होगा, और उसके बाद सेट करें कि आपने मानचित्र को केंद्रित किया है।

+0

मुझे लगता है कि यह मानचित्र को फिर से स्थापित करने का सबसे साफ और सरल तरीका है ... धन्यवाद :) –

0

एकमात्र तरीका मुझे पता है कि यह कैसे करना है देशों और उनके संबंधित लैट और एलएनजी की एक सूची होने के साथ, यह जानकारी के साथ कि आप निम्नलिखित कोड का उपयोग कर सकते हैं।

var myLatlng = new google.maps.LatLng(-34.397, 150.644); 
var myOptions = { 
    zoom: 8, 
    center: myLatlng, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 

var map = new google.maps.Map(document.getElementById("map_canvas"), 
    myOptions); 

जिज्ञासा से, आप इसे v2 में कैसे करेंगे?

+0

आप एपीआई में प्रदान की जियोकोडर देश के नाम पर गुजरती हैं, और परिणामी अक्षांश/देशांतर बस के रूप में तुम वहाँ किया है इस्तेमाल कर सकते हैं। – RYFN

1

मेरे लिए काम कर इस कोड:

 let geocoder = new google.maps.Geocoder(); 
     let location = "England"; 
     geocoder.geocode({ 'address': location }, function(results, status){ 
      if (status == google.maps.GeocoderStatus.OK) { 
       map.setCenter(results[0].geometry.location); 
      } else { 
       alert("Could not find location: " + location); 
      } 
     }); 
संबंधित मुद्दे