2011-05-26 5 views
35

Google मानचित्र API v3 का उपयोग करके, मानचित्र के केंद्र को प्रारंभ करने के लिए सेट करने का कोई तरीका है? मैं एक वैकल्पिक हल इस कोड का उपयोग किया है:Google मानचित्र v3 - प्रारंभ करने पर किसी पते का उपयोग कैसे करें?

var geocoder; 
    var map; 
    function initialize() { 
    geocoder = new google.maps.Geocoder(); 
    var latlng = new google.maps.LatLng(-34.397, 150.644); 
    var myOptions = { 
     zoom: 8, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    } 
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
    codeAddress('germany'); 
    } 

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

केवल समस्या यह है कि जब यह initializes, यह "LatLng" करने के लिए एक दूसरे विभाजन के लिए केंद्रित करता है। मैं "myOptions" में केंद्र को सेट करने का तरीका नहीं समझ सकता। हालांकि मैं कोड एड्रेस फ़ंक्शन से "परिणाम [0] .geometry.location" वापस कर सकता हूं और इसे myOptions में भेज सकता हूं, लेकिन यह काम नहीं करता है।

किसी भी मदद के लिए धन्यवाद।

अद्यतन जब से मैं "केन्द्र" कुल मिलाकर, मैं सोच रहा हूँ नहीं निकाल सकते वहाँ के विकल्प के लिए पता पारित करने के लिए कोई तरीका है।

गूगल एपीआई से:

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

उत्तर

70

खैर एक सरल उपाय अपने codeAddress समारोह में नक्शा प्रारंभ करने में हो सकता है:

var geocoder, map; 

function codeAddress(address) { 
    geocoder = new google.maps.Geocoder(); 
    geocoder.geocode({ 
     'address': address 
    }, function(results, status) { 
     if (status == google.maps.GeocoderStatus.OK) { 
      var myOptions = { 
       zoom: 8, 
       center: results[0].geometry.location, 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
      } 
      map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

      var marker = new google.maps.Marker({ 
       map: map, 
       position: results[0].geometry.location 
      }); 
     } 
    }); 
} 

इस समस्या का समाधान करना चाहिए।

+2

मैंने प्रारंभिक कार्य में जियोकोड फ़ंक्शन को शामिल करने का प्रयास किया ... लेकिन यह वास्तव में अन्य तरीकों से काम करता है। धन्यवाद! – TerryMatula

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