【问题标题】:google maps API3 opening infowindow in clustered markers from external link谷歌地图 API3 在来自外部链接的集群标记中打开信息窗口
【发布时间】:2014-12-30 20:45:58
【问题描述】:

我正在尝试通过单击文本来打开信息窗口,但是当我有集群时,我无法调用任何帮助??

图片:http://s4.postimg.org/khw51khot/aaa.png

 function open_window(io) { // my function to open info window  from external link
   //alert(io);
   infowindow.setContent(locations[io][0]);
   infowindow.open(map, marker);
   (marker, io);
 }

 function initialize() {

   var infowindow = new google.maps.InfoWindow();


   var center = new google.maps.LatLng(37.4419, 110.1419);

   var map = new google.maps.Map(document.getElementById('map'), {
     zoom: 3,
     center: center,
     mapTypeId: google.maps.MapTypeId.ROADMAP
   });

   var markers = [];
   for (var i = 0; i < locations.length; i++) {

     var latLng = new google.maps.LatLng(locations[i][2], locations[i][1]);
     var marker = new google.maps.Marker({
       position: latLng

     });

     markers.push(marker);
     google.maps.event.addListener(marker, 'click', (function(marker, i) {
       return function() {
         infowindow.setContent(locations[i][0]);
         infowindow.open(map, marker);
       }
     })(marker, i));
   }

   var markerCluster = new MarkerClusterer(map, markers);

 }

 google.maps.event.addDomListener(window, 'load', initialize); < /script>
  </head >
 < body >
   < h3 > < /h3>
    <table border="1">
	<tr><td>
    <div id="map-container"><div id="map"></div > < /div>
    </td >
   < td width = "400px" >
   < div style = "height:600px;width:400px;border:1px solid #ccc;font:12px/26px Georgia, Garamond, Serif;overflow:auto;" >
   < script type = "text/javascript" > // script to generate the links to open window can pass number already tried alert function
   for (io = 0; io < locations.length; io++) {
     document.write(" <p id=" + io + " onclick='open_window(this.id)'>");
     document.write(locations[io][3]);
     document.write(io);
     document.write("</p>");
   } < /script>
	 </div >
   < /td>
	</tr >
   < /table>

没有集群我可以打开信息窗口,我想做的是打开信息窗口并将焦点映射到那个制造商。

【问题讨论】:

  • 类似this?
  • 我找到了打开信息窗口的方法,只是将“var markers[]”从初始化函数中取出,但窗口、位置和事件触发但信息窗口没有放大到仅在地图中间打开的制造商

标签: google-maps infowindow markerclusterer


【解决方案1】:

问题已解决 1-) 将 var 标记 [] 放在初始化之外 2-) 创建事件触发函数并触发标记点击事件 3-) 将位置设置为标记位置 map.setCenter(marker.getPosition()); 4-) 将集群限制为 9 缩放 maxZoom: 9

从外部链接调用的信息窗口并放置在它应该在的位置:) 我用 3 杯咖啡 + 1 杯可乐 + 1 块士力架巧克力棒做的。

【讨论】:

  • 如果你能分享代码会很有趣。我希望做更多/更少相同的事情。
  • 如何限制集群缩放级别?
猜你喜欢
  • 2014-07-08
  • 1970-01-01
  • 2013-02-15
  • 2011-04-29
  • 1970-01-01
  • 2013-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多