Javascript 谷歌地图:相对于固定定位

Javascript 谷歌地图:相对于固定定位,javascript,jquery,google-maps,position,Javascript,Jquery,Google Maps,Position,我要寻找的效果是,我有一个div,它是浮动的权利与谷歌地图内,当用户向下滚动,我希望它是固定在顶部:0px。这基本上就是Yelp在搜索页面上对地图所做的。也有一些类似的问题,关于使用JQuery将div的类更改为fixed,一旦用户滚动下降,但是使用googlemaps,我似乎无法获得效果 主要原因是GoogleMaps正在使用某种javascript,这种javascript是在我自己的javascript之后加载的,它将位置覆盖为绝对值,我不能通过Jquery的css方法或任何东西来更改它。

我要寻找的效果是,我有一个div,它是浮动的权利与谷歌地图内,当用户向下滚动,我希望它是固定在顶部:0px。这基本上就是Yelp在搜索页面上对地图所做的。也有一些类似的问题,关于使用JQuery将div的类更改为fixed,一旦用户滚动下降,但是使用googlemaps,我似乎无法获得效果

主要原因是GoogleMaps正在使用某种javascript,这种javascript是在我自己的javascript之后加载的,它将位置覆盖为绝对值,我不能通过Jquery的css方法或任何东西来更改它。因此,我添加了一个浮动包装器,但在向下滚动时添加了一个固定类。它固定在0px的顶部很好,但因为它是浮动的,一旦位置变为固定位置,它就会跳到左侧,并重击我的其他内容


我在网上找到了一个教程,但现在它可能被弃用了?它不起作用。

我想,你只需要把Yelp正在做的事情的细节再细分一下。。。他们的列也是浮动的(检查他们的标记…它是
#searchLayoutMapResults
),但在这里面,div
#searchLayoutMapResults
是一个获得
位置:固定的
添加到它的列(通过className
固定的
),因此它不会改变浮动列的位置。因此,您可能只需要在地图上添加一个额外的包装器,并将固定位置添加到该包装器中,而不是添加浮动容器


(我找到的标记是基于此的)

我也有同样的问题。您所要做的就是在另一个DIV中创建一个DIV。 像这样:

<div id="outDIV" style="position:fixed; top:0">
  <div id="inDIV" style="width:100%; height:100%">
    [map content goes here]
  </div>
</div>

[此处显示地图内容]

我知道这很古老,但也许其他人可以从中获得一些信息

是的,您可以添加另一个元素来封装map元素,但是如果您想绕过它,您可以为tilesloaded事件设置一个侦听器,然后撤消google所做的操作

在api v3中,您可以这样做:

google.maps.event.addListener(myMap, 'tilesloaded', function(){
    document.getElementById('map-id').style.position = 'absolute'/'fixed'/'potato'/'whatever';
});
我敢肯定,在设置地图的位置时会遇到一些问题,超出谷歌喜欢的范围,但如果你想将文档中的元素数量保持在最低限度(你真的应该这么做),这就是解决问题的方法


(编辑:添加引号)

如果看不到您的代码,很难提供帮助。你试过使用CSS吗!重要声明?此时谷歌地图失败了。有意义的是:我在GUI上为GMAP提供了一个矩形,用于将风景画入其中,但这个矩形的位置和定位方式与GMAP无关。它的行为很奇怪<代码>位置:绝对
工作正常,
位置:修复
失败。我称之为虫子。然而5年后,它仍然没有被修复…#mapcontainer也会将类更改为“底部”,只要用户向下滚动足够远,searchLayoutMapResults的可见高度就会小于#mapcontainer高度。我这边也不再工作了,你也一样吗?