首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Google map api V3中偏移中心点

如何在Google map api V3中偏移中心点
EN

Stack Overflow用户
提问于 2012-05-19 00:55:12
回答 5查看 80.7K关注 0票数 85

我有一个谷歌地图与半透明面板覆盖的一部分地区。我想调整地图的中心点,以考虑部分模糊的地图部分。请参见下图。理想情况下,放置十字光标和大头针的位置应该是地图的中心点。

我希望这是有意义的。

原因很简单:当您缩放地图时,需要将地图居中放置在十字准线上,而不是在50% 50%。此外,我将在地图上绘制标记,并按顺序移动它们。当贴图以它们为中心时,它们也需要位于偏移位置。

提前感谢!

EN

回答 5

Stack Overflow用户

发布于 2014-12-08 20:11:02

下面是一个使用maps的panBy()方法解决这个问题的示例:http://jsfiddle.net/upsidown/2wej9smf/

票数 11
EN

Stack Overflow用户

发布于 2015-04-30 09:36:44

这里有一个更简单的方法,它在响应式设计中可能更有用,因为您可以使用百分比而不是像素。没有世界坐标,就没有指向点的LatLngs!

代码语言:javascript
运行
复制
var center;  // a latLng
var offsetX = 0.25; // move center one quarter map width left
var offsetY = 0.25; // move center one quarter map height down

var span = map.getBounds().toSpan(); // a latLng - # of deg map spans

var newCenter = { 
    lat: center.lat() + span.lat()*offsetY,
    lng: center.lng() + span.lng()*offsetX
};

map.panTo(newCenter);  // or map.setCenter(newCenter);
票数 10
EN

Stack Overflow用户

发布于 2018-06-26 19:25:59

刚刚找到了另一个最简单的解决方案。如果您使用的是fitBounds方法,您可以将可选的第二个参数传递给它。此参数是填充,将在拟合边界时考虑。

代码语言:javascript
运行
复制
// pass single side:
map.fitBounds(bounds, { left: 1000 })

// OR use Number:
map.fitBounds(bounds, 20)

进一步阅读:official docs

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10656743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档