2010-05-08 11 views
11

Üzerinde iki işaretleyici bulunan bir harita var.Google Maps API V3: Haritanın dışından belirli bir işaretçiye nasıl geçilir?

Haritanın ilk görünümü yalnızca bir işaretleyici gösterir ve haritanın yanında tıklatıldığında haritayı 2. işaretçiye taşıyacak bir bağlantı sağlamak istiyorum.

<script type="text/javascript"> 
     function initialize() { 
     var latlng = new google.maps.LatLng(50.823817, -0.135634); 
     var myOptions = { 
      zoom: 13, 
      center: latlng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP, 
      mapTypeControlOptions: { 
       style: google.maps.MapTypeControlStyle.DROPDOWN_MENU 
       } , 
       scaleControl: false 
      }; 

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

    // 1st marker 
    var marker1 = new google.maps.Marker({ position: new google.maps.LatLng(50.823817, -0.135634), map: map, title: 'my title' }); 
    var infowindow = new google.maps.InfoWindow({ content: 'my window content' }); 
    google.maps.event.addListener(marker1, 'click', function() { infowindow.open(map, marker1); }); 

    // 2nd marker 
    var marker2 = new google.maps.Marker({ position: new google.maps.LatLng(51.5262405, -0.074549), map: map, title: 'my 2nd title'}); 
    var infowindow2 = new google.maps.InfoWindow({ content: 'content for my 2nd window' }); 
    google.maps.event.addListener(marker2, 'click', function() { infowindow2.open(map, marker2); }); 
    } 
    </script> 

Yani ne olurdu:

İşte

Ben bugüne kadar ne var http://arts.brighton.ac.uk/contact-university-of-brighton-faculty-of-arts (haritada aşağıdaki bağlantıları dikkat edin): Burada

API v2 kullanarak istediğim şeyin bir demo Eklemek istediğiniz harita marker2'a bir bağlantıdır, haritayı yaklaşık 50 km uzunluğunda, <a href="#marker2">Second location</a>.

Bunu nasıl yaparım?

Edit:

cevap

14

Kullanım addDomListener (kodda biçimde başvurabilmeniz için ayrıca link etiketine bir kimlik eklemeniz gerekir) bu işaretleyici üzere haritayı hareket linke bir tık etkinlik eklemek için : bir başlatma işlevi olayı ayarlayın: Google Maps için Circle overlay as a marker almak için nasıl bu makaleyi buldum

<head> 
    <script type="text/javascript"> 
    function initialize() { 
     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); 
     var marker2 = new google.maps.Marker({ position: new google.maps.LatLng(51.5262405, -0.074549), map: map, title: 'my 2nd title'}); 
     google.maps.event.addDomListener(document.getElementById("linkID"), "click", function(ev) { 
     map.setCenter(marker2.getPosition()); 
     } 
    } 
    </script> 
</head> 
<body style="margin:0px; padding:0px;" onload="initialize()"> 
    <a href="javascript:function() { return false; }" id="location2">Second place</a> 
    <div id="map_canvas" style="width:100%; height:100%"></div> 
</body> 
İlgili konular