2011-04-01 6 views
21

मैं गूगल मैप्स वी 3 और मैं उपयोग कर रहा हूँ चाहता हूँ:गूगल मैप्स: सेट केंद्र, सेट सेंटर प्वाइंट और सेट अधिक अंक

  1. एक विशेष LatLng को नक्शे के केंद्र निर्धारित करें। मैं उपयोग कर रहा हूँ:

    map.setCenter(new google.maps.LatLng(mylat,mylong)); 
    
  2. उस केंद्र स्थान में एक बिंदु सेट करें। मैं वर्तमान में उपयोग कर रहा हूँ:

    var point = new google.maps.LatLng(mylat,mylong); 
    
    marker = map_create_marker(point,"My Popup",map_icon_red); 
    
    इस समारोह के साथ

    :

    function map_create_marker(point,html,icon) { 
        var marker = new google.maps.Marker({ 
         position: point, 
         map: map, 
         icon: icon, 
         shadow: map_icon_shadow 
        }); 
    
        if(html!="") { 
         var infowindow = new google.maps.InfoWindow({ 
           content: html 
         }); 
         google.maps.event.addListener(marker, 'click', function() { 
          infowindow.open(map,marker); 
         }); 
        } 
        return marker; 
    } 
    
  3. स्थिति कई और अधिक ही विधि का उपयोग मार्करों ऊपर

समस्या

जब मैं की तरह केंद्र की स्थापना की है कि है ऊपर, यह केवल पहले मार्कर प्रदर्शित करता है। लेकिन अगर मैं केंद्र स्थापित नहीं करता हूं तो यह सभी मार्कर प्रदर्शित करता है। मैं उन्हें दोनों कामों में कैसे प्राप्त कर सकता हूं?

<script type="text/javascript" 
     src="http://maps.google.com/maps/api/js?sensor=true"></script> 
<script type="text/javascript" language="JavaScript"> 
    var map; 

    var map_icon_green = new google.maps.MarkerImage(
     "http://mysite.com/green_pointer.png", 
     new google.maps.Size(12,20), 
     new google.maps.Point(0,0)); 

    var map_icon_blue = new google.maps.MarkerImage(
     "http://mysite.com/blue_pointer.png", 
     new google.maps.Size(12,20), 
     new google.maps.Point(0,0)); 

    var map_icon_yellow = new google.maps.MarkerImage(
     "http://mysite.com/yellow_pointer.png", 
     new google.maps.Size(12,20), 
     new google.maps.Point(0,0)); 

    var map_icon_red = new google.maps.MarkerImage(
     "http://mysite.com/red_pointer.png", 
     new google.maps.Size(12,20), 
     new google.maps.Point(0,0)); 

    var map_icon_shadow = new google.maps.MarkerImage(
     "http://mysite.com/shadow.png", 
     new google.maps.Size(28,20), 
     new google.maps.Point(-6,0)); 

    var map_crosshair = new google.maps.MarkerImage(
     "http://mysite.com/cross-hair.gif", 
     new google.maps.Size(17,17), 
     new google.maps.Point(0,0)); 


    function map_loader() { 
     var myOptions = { 
      zoom: 5, 
      mapTypeId: google.maps.MapTypeId.ROADMAP, 
      scrollwheel:false 
     } 

     map = new google.maps.Map(
       document.getElementById('map_container'), myOptions); 

     map.setCenter(new google.maps.LatLng(53.0,-1.0)); 

     // <![CDATA[ 
     var point = new google.maps.LatLng(53.0,-4.0755); 
     marker = map_create_marker(point,"some html which is OK",map_icon_red); 
     // ]]> 

     // <![CDATA[ 
     var point = new google.maps.LatLng(-24.0,25.0); 
     marker = map_create_marker(point,"some html which is OK",map_icon_red); 
     // ]]> 

     // <![CDATA[ 
     var point = new google.maps.LatLng(54.0,-2.0); 
     marker = map_create_marker(point,"some html which is OK",map_icon_red); 
     // ]]> 

     map.disableDoubleClickZoom = false; 
    } 


    function map_create_marker(point,html,icon) { 
     var marker = new google.maps.Marker({ 
      position: point, 
      map: map, 
      icon: icon, 
      shadow: map_icon_shadow 
     }); 

     if(html!="") { 
      var infowindow = new google.maps.InfoWindow({ 
        content: html 
      }); 
      google.maps.event.addListener(marker, 'click', function() { 
       infowindow.open(map,marker); 
      }); 
     } 
     return marker; 
    } 
    var map_set_center = 0; 
    function map_load_resize() { 
     if(map_set_center==0) { 
      map.setCenter(new google.maps.LatLng(53.0,-1.0)); 
     } 
     map_set_center = 1; 
    } 

    </script> 
+0

आप बाहर ज़ूम था अगर अन्य मार्करों भी जब आप प्रदर्शित किए जाते हैं को देखने के लिए setCenter? – kjy112

+0

हां, और कोई अन्य मार्कर प्रदर्शित नहीं होते हैं। मैंने यह सुनिश्चित करने के लिए भी जांच की है कि मार्करों के लिए HTML त्रुटि को फेंक रहे हैं, वे नहीं हैं। – David

+1

@ डेविड आप जेनरेट मार्कर डेटा जैसे मायलैट और माइलॉन्ग – kjy112

उत्तर

66

v3 के लिए इस कोड का उपयोग का प्रयास करें::

यहाँ पूर्ण जावास्क्रिप्ट कोड है

gMap = new google.maps.Map(document.getElementById('map')); 
gMap.setZoom(13);  // This will trigger a zoom_changed on the map 
gMap.setCenter(new google.maps.LatLng(37.4419, -122.1419)); 
gMap.setMapTypeId(google.maps.MapTypeId.ROADMAP); 
संबंधित मुद्दे