2011-04-01 134 views
21

Seti Merkezi Set Centre Point ve Set daha fazla puan istediğiniz:Google Maps: Google Maps V3 ve ben kullanıyorum

  1. belirli LatLng için harita merkezini ayarlayın. Kullanıyorum: o merkez noktasında bir nokta ayarlayın. Şu anda kullanıyorum: Bu fonksiyon ile

    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; 
    } 
    
  2. pozisyonu aynı yöntemi kullanarak çok daha fazla belirteçler

sorun yukarıda ben gibi merkezi ayarladığınızda olmasıdır yukarıda, sadece ilk belirteci görüntüler. Ama eğer bir merkez ayarlamazsam, tüm işaretçileri gösterir. Onları nasıl işe alabilirim?

<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

görmek uzaklaştırma mı setCenter? – kjy112

+0

evet ve başka hiçbir işaretçi görüntülenmiyor. Ayrıca, işaretçiler için HTML’nin hatayı attığından emin olmak için kontrol ettim, değiller. – David

+1

@David kodunuzun tamamını, mylat ve mylong – kjy112

cevap

66

v3 için bu kodu kullanmayı deneyin: İşte

tam javascript kodu diğer belirteçler de sizi görüntülenir eğer

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);