【问题标题】:Google Maps Api: set center of the map to an offset in pixels?Google Maps Api:将地图中心设置为像素偏移量?
【发布时间】:2013-01-17 10:59:43
【问题描述】:

这可能是个奇怪的问题……

我正在使用 google maps api 在我的网页上嵌入自定义地图。我将lon/lat 坐标传递给一个函数,并绘制了一张地图,该点在中间“居中”。 (我的地图框高 300 像素,所以标记大约是 150 像素)

由于我也在使用自定义 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 
    }
}

知道我该怎么做吗?有什么其他的技巧或想法吗?

【问题讨论】:

  • 这个问题的答案可能会有所帮助:stackoverflow.com/questions/2488999/…
  • 好吧,在我的情况下,窗口在页面加载时已经可见。我不必点击标记,所以autoPan 并不会真正影响我的问题。
  • autoPan 指的是地图在打开时被平移以适应 infoWindow,因此如果标记已经可见,则应该没有区别。然而,将中心移动几个像素很容易,但我现在没有时间。如果问题仍未解决,我稍后会发布一段代码。

标签: google-maps google-maps-api-3


【解决方案1】:

调用map的panBy方法

mapObject.panBy(0,30)

【讨论】:

  • 完美。正是我想要的。
  • 哈哈,很好的解决方案!(+1)。我打算使用投影并做一些不必要的复杂事情。需要更多的咖啡! ;-)
猜你喜欢
  • 2011-12-30
  • 2011-06-06
  • 1970-01-01
  • 2016-09-03
  • 2012-08-19
  • 1970-01-01
  • 2011-06-01
  • 2013-06-27
  • 2012-08-23
相关资源
最近更新 更多