Javascript 谷歌地图信息窗口在最左边打开,而不是提供的位置

Javascript 谷歌地图信息窗口在最左边打开,而不是提供的位置,javascript,google-maps,Javascript,Google Maps,我正在使用谷歌地图API做一些自定义标记,我想打开一个自定义信息窗口。我一直试图设置信息窗口的位置,但它总是在最左上角打开 var markers = [ [37.09024, -95.712891, "images/white-star.png"], [40.4173, -82.9071, "images/purple-star.png"], [31.9686, -99.9018, "images/yellow-star.png"], ]; for (i = 0; i <

我正在使用谷歌地图API做一些自定义标记,我想打开一个自定义信息窗口。我一直试图设置信息窗口的位置,但它总是在最左上角打开

var markers = [
  [37.09024, -95.712891, "images/white-star.png"],
  [40.4173, -82.9071, "images/purple-star.png"],
  [31.9686, -99.9018, "images/yellow-star.png"],
];


for (i = 0; i < markers.length; i++) {
  var position = new google.maps.LatLng(markers[i][0], markers[i][1]);
  var icon = markers[i][2];
  marker[i] = infowindow = new google.maps.InfoWindow({
    content: html,
    pixelOffset: new google.maps.Size(200, 0)
  });
  marker[i] = new google.maps.Marker({
    position: position,
    icon: icon,
    map: map,
  }).addListener('mouseover', function() {
    infowindow.open(map, marker[i]);
  });
}
var标记=[
[37.09024,-95.712891,“images/white star.png”],
[40.4173,-82.9071,“images/purple star.png”],
[31.9686,-99.9018,“images/yellow star.png”],
];
对于(i=0;i
我认为您的问题在于如何在代码中创建标记和信息窗口。要在地图中创建多个标记,请参阅下面的代码

函数initMap(){
var mylatng={
纬度:40.4173,
液化天然气:-82.9071
};
var map=new google.maps.map(document.getElementById('map'){
缩放:4,
中心:myLatLng
});
变量标记=[
[37.09024,-95.712891,“images/white star.png”],
[40.4173,-82.9071,“images/purple star.png”],
[31.9686,-99.9018,“images/yellow star.png”],
];
对于(i=0;i
标记[i]
未在此行中定义:

infowindow.open(map, marker[i]);
如果没有定义的锚点,infowindow将在地图的左上角结束

您可以在
鼠标悬停
事件处理程序函数中为锚点使用

infowindow.open(map, this);
您可能还希望删除:

pixelOffset: new google.maps.Size(200, 0)

代码片段:

var地理编码器;
var映射;
函数初始化(){
var map=new google.maps.map(
document.getElementById(“地图画布”){
中心:新google.maps.LatLng(37.4419,-122.1419),
缩放:13,
mapTypeId:google.maps.mapTypeId.ROADMAP
});
变量标记=[
[37.09024,-95.712891,“images/white star.png”],
[40.4173,-82.9071,“images/purple star.png”],
[31.9686,-99.9018,“images/yellow star.png”],
];
var bounds=new google.maps.LatLngBounds();
对于(i=0;i
html,
身体,
#地图画布{
身高:100%;
宽度:100%;
边际:0px;
填充:0px
}

通过发布的代码,我得到了一个javascript错误:
未捕获引用错误:未定义html
请提供一个示例来说明该问题。
pixelOffset: new google.maps.Size(200, 0)