谷歌地图API:如何将地图中心设置为像素偏移量?

14

可能这是一个奇怪的问题...

我正在使用Google Maps API在我的网页上嵌入自定义地图。 我将lon / lat坐标传递给函数,然后绘制带有该点“居中”的地图。 (我的地图框架大约300px高,因此标记大约在150px处)

由于我还在使用自定义infoWindows/Boxes,我想将地图的中心向下移动一点。

我知道我可以设置不同的lon / lat中心,但这不是我要找的。这需要为每个地图传递标记的坐标和我想要拥有的中心的坐标。

我希望它更简单。

是否可以将地图中心向下移动几个像素?

center: +30px, :)

var latlng = new google.maps.LatLng(ll[0], ll[1]); // latitude and longitude
    var options = {
    zoom: zoom,
    //center: c,
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    mapTypeControl: false,
    disableDefaultUI: true,
    scrollwheel: scroll,
    streetViewControl: false,
    navigationControlOptions: {  
        style: google.maps.NavigationControlStyle.SMALL 
    }
}

有什么办法可以做到这一点吗?还有其他的窍门或想法吗?


这个问题的答案可能会有所帮助:https://dev59.com/YHE95IYBdhLWcg3wCJXk - Marcelo
在我的情况下,窗口在页面加载时已经可见。我不需要单击标记,因此“autoPan”并不能真正解决我的问题。 - matt
autoPan指的是在信息窗口打开时地图会被平移以适应其位置,因此如果标记已经可见,则不会有任何影响。然而,将中心点向左或向右移动几个像素很容易,但我现在没有时间。如果问题仍未解决,我稍后会发布一段代码。 - Marcelo
1个回答

31

调用地图的panBy方法。

mapObject.panBy(0,30)

完美。正是我所寻找的。 - matt
3
哈哈,好的解决方案!(+1)。我本来打算使用投影并做一些不必要复杂的事情。需要更多的咖啡!;-) Translated: 哈哈,好的解决方案!(+1)。我本来打算使用投影并做一些不必要复杂的事情。需要更多的咖啡!;-) - Marcelo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接