2013-03-22 134 views
0

我正在使用这个谷歌地图脚本。如果我想单击标记时弹出一个信息框,我该怎么办?谷歌地图弹出信息框时点击标记

你可以在这里尝试脚本: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 2015-08-26 11:27:26

回答

0

你必须首先创建一个信息窗口和然后在每一次点击你关闭它的一端,并在另一端打开它

相关问题