Google maps api 3 谷歌地图API V3:绑定世界以适应区域并禁用地图重复

Google maps api 3 谷歌地图API V3:绑定世界以适应区域并禁用地图重复,google-maps-api-3,Google Maps Api 3,设置中心:新建google.maps.LatLng(0,0)将设置世界中心。而zoom:1将默认缩放到整个世界 问题是,如果地图的大小是616px乘以310px,我们如何修改/调整地图的大小,使其很好地符合给定的大小。例如,只有一个世界实例显示,地图的底部将是非洲的底部。因此,随后的世界地图将不会重复。准确地说,我们的地图是这样装订的: 到目前为止,我得到的是: 谷歌地图有一系列的缩放级别,每一个级别都更近一步。以像素为单位设置地图高度和宽度,然后google maps api将加载相应的地图

设置
中心:新建google.maps.LatLng(0,0)
将设置世界中心。而
zoom:1
将默认缩放到整个世界

问题是,如果地图的大小是616px乘以310px,我们如何修改/调整地图的大小,使其很好地符合给定的大小。例如,只有一个世界实例显示,地图的底部将是非洲的底部。因此,随后的世界地图将不会重复。准确地说,我们的地图是这样装订的:

到目前为止,我得到的是:

谷歌地图有一系列的缩放级别,每一个级别都更近一步。以像素为单位设置地图高度和宽度,然后google maps api将加载相应的地图分幅以填充提供的窗口

实际上,它不允许你拉伸地图,我相信在zoom 1中,谷歌世界地图将是256像素乘以256像素

下面是一个很好的概述,进一步解释了这一点:

此外,如果要在网页中动态放置PIN,可以使用api直接按纬度和经度添加标记。如果您使用的是离线静态图像,那么首先,您应该考虑使用开源openstreetmaps数据,因为您可能需要谷歌的进一步许可。对于openstreetmaps,您可以考虑使用离线工具(如TileMill或mapnik)来放置标记?在任何情况下——在投影上读取——这将解释纬度和经度坐标如何对应于图像上的像素位置


你也可以浏览,这是专门针对地图相关问题的。

在给定的缩放级别上,整个世界的“图片”大小是恒定的。 缩放级别1为512像素,缩放级别2为1024、3=2048、4=4096等

为了适应整个世界而不重复它,你需要有一个比这个缩放级别的整个世界的图片更小的map div,否则它将无法工作

对于缩放级别1,贴图将需要512以适合理想情况,而不包裹则需要更少

是一个示例,显示给定缩放级别下的世界宽度,并将其记录到控制台。当你放大时,它也会调整地图的大小以适应整个世界(通常这是一件愚蠢的事情,但在这里它只是展示了它是如何工作的)


HTH

地图图像的投影是什么?@wf9a5m75不确定投影是什么意思?我想把地图放在固定的位置(如上图)并在上面放置图钉。谢谢你的回复。我已经更新了这个问题,添加了到目前为止我得到的信息。我现在不关心掉别针之类的东西。我需要的是能够设置与示例中类似的底图。一个实例,可能向下移动了一点。Math.pow(2,zoomLevel)*256(或Math.pow(2,zoomLevel+8),我想没有其他方法可以不用手动设置缩放级别。。或者类似于在一个世界上显示图钉的任何内容?您应该根据地图的大小设置maxZoom-in-mappoptions来限制缩放。因此,如果地图宽度为800px,则应将最小缩放设置为2。如果它大于1024,则应将最小缩放设置为3。检查此处的引用:minZoom,而不是MaxZoom页面上的JavaScript现在已损坏:
TypeError:无法读取未定义的属性“getWorldWidth”