Javascript Google Maps,信息窗口在获取窗口边界内的所有标记后不使用多个标记
我将多个标记动态添加到地图中。我需要地图将焦点放在地图上显示的所有标记上。这取决于搜索字段中的输入。我还需要每个标记的信息窗口。 在我把地图集中在所有的标记上之前,我让信息窗口工作。现在,我发现代码将集中在所有标记上,即使它们在国家的另一边,我无法让信息窗口工作Javascript Google Maps,信息窗口在获取窗口边界内的所有标记后不使用多个标记,javascript,google-maps,Javascript,Google Maps,我将多个标记动态添加到地图中。我需要地图将焦点放在地图上显示的所有标记上。这取决于搜索字段中的输入。我还需要每个标记的信息窗口。 在我把地图集中在所有的标记上之前,我让信息窗口工作。现在,我发现代码将集中在所有标记上,即使它们在国家的另一边,我无法让信息窗口工作 <script> function map_initialize() { var member_locations = [ [ "Member 1", new google.maps.L
<script>
function map_initialize() {
var member_locations = [
[ "Member 1", new google.maps.LatLng(47.1330611, -122.4350594),1],
[ "Member 12", new google.maps.LatLng(47.2394208, -122.3549794),2],
[ "Member 123", new google.maps.LatLng(47.2071584, -122.2370664),3],
[ "Member 11", new google.maps.LatLng(47.1520592, -122.3524013),4],
[ "Member 112", new google.maps.LatLng(47.1178347, -122.0554941),5],
[ "Member 1122", new google.maps.LatLng(47.3104558, -122.5861279),6]
];
var map = new google.maps.Map(document.getElementById("directory_map"), {
center: new google.maps.LatLng(0, 0),
zoom: 0,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
for (var i = 0; i < member_locations.length; i++) {
new google.maps.Marker({
position: member_locations[i][1],
map: map,
title: member_locations[i][0]
});
}
var infowindow = new google.maps.InfoWindow();
var marker, i;
var latlngbounds = new google.maps.LatLngBounds();
for (var i = 0; i < member_locations.length; i++) {
latlngbounds.extend(member_locations[i][1]);
}
map.fitBounds(latlngbounds);
for (var i = 0; i < member_locations.length; i++) {
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(member_locations[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
new google.maps.Rectangle({
bounds: latlngbounds,
map: map,
fillColor: "#000000",
fillOpacity: 0.2,
strokeWeight: 0
});
}
google.maps.event.addDomListener(window, 'load', map_initialize);
</script>
函数映射_初始化(){
变量成员位置=[
[“成员1”,新的google.maps.LatLng(47.1330611,-122.4350594),1],
[“成员12”,新的google.maps.LatLng(47.2394208,-122.3549794),2],
[“成员123”,新的google.maps.LatLng(47.2071584,-122.2370664),3],
[“成员11”,新的google.maps.LatLng(47.1520592,-122.3524013),4],
[“会员112”,新google.maps.LatLng(47.1178347,-122.0554941),5],
[“会员1122”,新google.maps.LatLng(47.3104558,-122.5861279),6]
];
var map=new google.maps.map(document.getElementById(“目录映射”){
中心:新google.maps.LatLng(0,0),
缩放:0,
mapTypeId:google.maps.mapTypeId.ROADMAP
});
对于(变量i=0;i
您没有将信息窗口
正确添加到标记,下面的循环中没有定义标记
,并且成员位置
不是谷歌地图的数组。标记
对象:
for (var i = 0; i < member_locations.length; i++) {
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(member_locations[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
/*始终明确设置贴图高度以定义div的大小
*包含映射的元素*/
#目录映射{
身高:100%;
}
/*可选:使示例页面填充窗口*/
html,
身体{
身高:100%;
保证金:0;
填充:0;
}
简单地图