在谷歌地图中设置信息窗口位置
Setting InfoWindow Postion in Google Maps
我正在谷歌地图上绘制一组多边形,并希望在单击它时在每个多边形的中心弹出一个信息窗口。
function attach_info_window(polygon, centroid, title){
var info_window = new google.maps.InfoWindow({
content: title,
position: { lat: centroid[0], lng: centroid[1] }
});
google.maps.event.addListener(polygon, 'click', function() {
info_window.open(map, this);
});
}
问题是,窗口每次都出现在西北角。"位置"参数似乎被完全忽略了。我还尝试在单击时设置位置
event.latLng
但是,即使 API 文档指定了它,也会返回未定义的内容,因此这也不起作用。奇怪的是,如果我使用标记而不是多边形,它就可以正常工作。
我通过删除 open() 中的第二个参数来解决这个问题
info_window.open(map)
效果很好。我传递"this"是为了将其绑定到许多多边形中的特定多边形。我仍然不明白为什么这有效,也不是
info_window.open(map, poly)
也不
info_window.open(map, this)
工程
这个:
info_window.open(map, this);
除了google.maps.Marker之外,不会为任何东西工作。 InfoWindow.open 的第二个参数只能是 google.maps.Marker,Polygon 或 Polyline 在那里不起作用。
从文档中"在核心API中,唯一的锚点是Marker类。但是,锚点可以是任何公开 LatLng 位置属性的 MVCObject"
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 防止Iframe窗体在新窗口中打开
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 调整窗口大小时,可拖动的对象会出现在容器外部
- Javascript排序的图像弹出窗口..可以't单独弹出
- 窗口大小html css
- 弹出窗口出现,然后退出
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- Javascript更新孙窗口中的表单元素
- 如何在选项卡上定义属性'的主窗口对象
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 召回窗口加载事件 - javascript
- 为什么不显示警报窗口
- 如何使用modalDialog来显示可以在所有浏览器中工作的弹出窗口
- Chrome应用程序调整窗口大小保持纵横比
- 新选项卡被弹出窗口阻止程序阻止
- 如何访问UIWebView'的子窗口上下文
- 刷新父窗口后无法关闭窗口
- 自动关闭弹出窗口的Javascript
- 如何使用特定大小的浏览器窗口打开我的页面