2013-03-22 2 views
0

Я использую этот скрипт карты google. Как мне сделать, если я хочу, чтобы окно информации появилось, когда я нажимаю маркер?google maps popup info box при нажатии маркера

Вы можете попробовать сценарий здесь: http://clark-kim.se/preview/googlemaps2.html

я не смог опубликовать весь код, но вот сценарий, по крайней мере:

<script> 
      function initialize() { 
      var map = new google.maps.Map(document.getElementById('map-canvas'), { 
       mapTypeId: google.maps.MapTypeId.ROADMAP, 
      }); 
      var defaultBounds = new google.maps.LatLngBounds(
       new google.maps.LatLng(-33.8902, 151.1759), 
       new google.maps.LatLng(-33.8474, 151.2631)); 
      map.fitBounds(defaultBounds); 

      var input = document.getElementById('target'); 
      var searchBox = new google.maps.places.SearchBox(input); 
      var markers = []; 

      google.maps.event.addListener(searchBox, 'places_changed', function() { 
       var places = searchBox.getPlaces(); 

       for (var i = 0, marker; marker = markers[i]; i++) { 
       marker.setMap(null); 
       } 

       markers = []; 
       var bounds = new google.maps.LatLngBounds(); 
       for (var i = 0, place; place = places[i]; i++) { 
       var image = { 
        url: place.icon, 
        size: new google.maps.Size(71, 71), 
        origin: new google.maps.Point(0, 0), 
        anchor: new google.maps.Point(17, 34), 
        scaledSize: new google.maps.Size(25, 25) 
       }; 

       var marker = new google.maps.Marker({ 
        map: map, 
        icon: image, 
        title: place.name, 
        position: place.geometry.location 
       }); 

       markers.push(marker); 

       bounds.extend(place.geometry.location); 
       } 

       map.fitBounds(bounds); 
      }); 

      google.maps.event.addListener(map, 'bounds_changed', function() { 
       var bounds = map.getBounds(); 
       searchBox.setBounds(bounds); 
      }); 
      } 
      google.maps.event.addDomListener(window, 'load', initialize); 
     </script> 
+0

Помог ли хоть один из ответов? Если да, пожалуйста, отметьте один, чтобы этот вопрос можно считать закрытым, если нет, пожалуйста, предоставьте некоторую обратную связь или ответ на свой вопрос. – alkis

ответ

0

Вы должны создать InfoWindow первый и затем на каждом щелчке вы закрываете его на одном конце и открываете его на другом