2014-11-04 157 views
0

我试图通过单击文本打开infowindow,但是当我有群集我不能打电话任何帮助?谷歌地图API3开放infowindow从外部链接聚集标记

图片: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"> 
 
\t <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> 
 
\t </div > 
 
    < /td> 
 
\t </tr > 
 
    < /table>

没有集群,我可以打开信息窗口,我所试图做的是开放的信息窗口和集中映射到该设备。

+0

类似[this](http://www.geocodezip.com/v3_MW_example_map3_clustered.html)? – geocodezip 2014-11-04 06:36:45

+0

我发现打开信息窗口的方式只是将“var markers []”用于初始化函数,但窗口和地点以及事件触发器,但信息窗口没有放大到只在地图中间开启的制造商 – user2991150 2014-11-04 06:42:33

回答

0

问题解决 1-)代替变种标记[]出初始化 2-)创建事件触发功能和触发标记点击事件 3-)设定位置到标记位置map.setCenter(marker.getPosition()) ; 4-)限制群集到9变焦MAXZOOM:9

信息窗口从外部链接调用,并放置在它被认为是:) 和i相3层的咖啡+ 1吨焦炭+ 1个嘲笑巧克力棒做到了。

+0

如果您可以分享代码。 我正在寻找更多/更少的相同。 – BeoWulf 2015-12-30 17:36:00