5

这是我在使用 Google Maps API 时遇到的真正挑战。我有一个全屏的应用程序,有一个填充整个背景的谷歌地图。此应用程序的某些 UI 镶边覆盖了部分地图,因此,实际上,整个地图并不总是可见的。

相反,我们有一个“主要”可见区域和一个“部分”可见区域,如下所示:

地图示例

以下是我的问题:

通常,如果您想在您调用的视图中居中某些东西,map.setCenter(latLng)这会将给定的 latLng 放在地图画布的确切中心。但是,就我而言,我想将给定的 latLng 放在画布的确切中心,而不是放在画布完全可见部分的中心。

除了画布的确切中心之外,我还没有找到任何关于将地理点设置为其他任何东西的方法的文档。有谁知道这是否可能?

同样,如果您想缩放地图以使其适合多个点,您可以将所有这些 latLngs 传递给 bounds 对象,每个对象调用bounds.extend(latLng), 然后map.fitBounds(bounds).

但是,这将适合地图,以便点显示在整个地图画布中。是否可以让它们适合画布的特定部分?

感谢您在这里的任何见解。

4

2 回答 2

4

创建地图后,使用地图的 panBy 方法按给定像素平移地图。

map.panBy(rightPadding/2,-topPadding/2);

演示:http: //jsfiddle.net/doktormolle/JsBEx/

于 2013-01-11T20:11:54.913 回答
0

此处描述了另一种方法:如何使 fitBounds 了解自定义控件。另外,您可以使用 containsLocation 仔细检查这两种技术是否有效(Google Maps fitBounds into specific area

于 2014-03-28T07:18:44.597 回答