如何使 fitBounds 感知自定义控件

2024-03-08

我的谷歌地图左侧有一个大型(300*500px)自定义控件。我将我的标记聚集在一起。当用户单击标记时,我想放大地图以显示该群集中的标记。

问题是:

当我得到标记集合的边界时,然后map.fitBounds(collection_bounds),我最终在我的大型控制下得到了标记。有没有办法预防fitBounds使用整个视口?

我尝试过获得LatLng我的西南边界点,将其转换为像素,移动 300px,然后将其转换back to a LatLng用作新的西南边界点。但这不起作用,因为计算已完成变焦前,所以 300px 的偏移最终太多了......我想过自己写一个fitBounds,但我遇到了同样的问题,因为它是在缩放之前完成的。


你说的有效:

我尝试获取西南边界点的纬度, 将其转换为像素,将其移入 300px,然后将其转换 返回到 LatLng 以用作新的西南边界点。

如果你分两步完成,这对用户来说几乎是透明的,因为它执行得如此之快以至于你几乎没有注意到它。所以,首先你做一个正常的map.fitBounds(bounds);其中边界仅由您的标记定义,然后您使用您描述的技术重新调整。所以:

  google.maps.event.addListenerOnce(map,'bounds_changed',function(){
    // re-adjust bounds here as you described. 
    // This event fires only once and then the handler removes itself.
  });
  map.fitBounds(bounds);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使 fitBounds 感知自定义控件 的相关文章

  • 如何检查 Google 地图是否已完全加载?

    我正在将 Google 地图嵌入到我的网站中 加载 Google 地图后 我需要启动一些 JavaScript 进程 有没有办法自动检测 Google 地图何时完全加载 包括图块下载等 A tilesloaded 存在应该完全完成此任务的方
  • `[$injector:nomod] 模块“google-maps”不可用`

    我正在使用 angular google maps 在角度应用程序中处理谷歌地图 为此 我必须添加angular google maps js到项目 如果我按以下方式添加脚本 该页面可以正常工作 不会出现任何错误 但如果我使用本地副本 它将
  • 使用 Selenium IDE 单击 Google 地图

    我无法创建 Selenium 测试用例来自动点击 Google 地图 具体来说 通过单击地图来创建标记 IDE中的录制功能 记录 功能将我的鼠标点击记录为 tr td click td td div id map canvas div 3
  • Google 地图 v3 - 我能否确保每次都能顺利平移?

    我的地图在一座城市内有数百个标记 通常不超过 20 英里半径 我已通读文档 但尚未找到一种方法来将 init 设置为在每个标记之间自动平移 无论距离如何 默认行为是如果靠近则平移 如果远则跳跃 我理解他们为什么要这样做 因为地图不会在选定的
  • 谷歌地图转弯 GPS 导航用于 ios 开发

    我的应用程序需要包含逐段 GPS 导航 任何人都可以告诉如何集成谷歌地图进行逐段 GPS 导航 我可以在android开发中找到它 但我无法从谷歌地图的iOS开发文档中找到导航 https developers google com map
  • Google 地图视图无法在模拟器上显示

    您好 我正在尝试在 Android 模拟器中显示地图 但它无法在地图视图中显示谷歌地图 并且也不从 Android 模拟器上的浏览器连接 www google com 那么是否有关于在模拟器上运行互联网的任何设置 谁能帮我解决这个问题 尝试
  • 谷歌 Android 地图 v2 MetersToEquatorPixel

    我目前的任务是将 Google Android 地图 v1 应用程序转换为 Google Android 地图 V2 应用程序 这个过程并不愉快 感谢谷歌 我的问题是 在之前的应用程序中 他们使用了 Google Android Maps
  • 如何从给定经纬度矩形的谷歌地图中提取卫星图像?

    如何从给定经纬度矩形的谷歌地图中提取卫星图像 或者 形成边界框的两个 纬度 经度 点 在我看来 你的问题听起来像是你想提取 Google 地图上使用的原始卫星图块 这违反了使用条款 如果您坚持这样做 我很确定您会被禁止使用该服务 所以 不要
  • 共享 Google 地图或拍摄 Android 手机屏幕截图

    我正在使用 android google map api v2 开发 android 应用程序 到目前为止我已经取得了以下成绩 打开谷歌地图显示用户的位置 当他行走时 他可以在地图上添加标记 标记他经过的地方 他可以删除标记或拖动它们 我现
  • Android Google Maps API OnLocationChanged 仅调用一次

    每当我的位置发生变化时 我都会尝试更新我的相机 然而 onLocationChanged 只被调用一次 当我随后在模拟器中发送新位置时 不会调用 onLocationChanged 我已经尝试了几个小时了 但似乎无法修复它 public c
  • map.setMyLocationEnabled(true) 的真正作用是什么

    我正在设置 map setMyLocationEnabled true 但我想知道这到底是做什么的 我知道的 我在地图的右上角看到一个 定位我 按钮 我在地图上看到一个代表我当前位置的蓝色图标 这是我的担忧 我正在编写一个位置感知应用程序
  • 使用地理编码发出一个请求后超出查询限制

    我正在使用 ggmap 的地理编码来查找不同城市的纬度和经度 昨天它工作得很好 但今天只发出一个请求后我就收到了 OVER QUERY LIMIT 事实上 如果我只是加载库并运行地理编码 它会抛出 OVER QUERY LIMIT 错误 g
  • 如何使事件 DOM 侦听器适应 Google Maps JavaScript API v3.35

    我曾经使用以下代码来捕获用户的 Enter 键事件 如果用户没有选择其中任何一个 即没有标记为 pac 的 pac item 则自动从自动完成结果 pac items 中选择第一个结果 项目选择 var input document get
  • Android:随着设备移动在mapv2上绘制路径

    我正在制作一个应用程序 我必须在其中当我的设备移动时在地图上绘制路径 我搜索了我的教程但都显示在两点之间绘制路径但是我要当我的设备移动时绘制路径 任何有关此的帮助将不胜感激 当你的设备移动时 你的意思是什么 无论哪种方式 您都必须使用位置侦
  • 有没有办法确定特定地址是否位于 x 英里内的路线沿线?

    有没有办法确定特定地址是否位于 x 英里内的路线沿线 Google 地图 API 是否支持此功能 我有一个地址数据库 我试图找出 Google 地图 API 确定的给定路线上的哪些位置 您可以设置获取折线 http code google
  • Google Places Api 排名=距离不起作用[重复]

    这个问题在这里已经有答案了 我使用 Google Places api 只获取距我所在位置最近的一些地点 但有些结果根本不显示 例如 tbilisimarriot 和 CourtyardbyMarriot 结果 而且列表也无法正确显示从最近
  • 将信息框添加到通过 Google 地图绘制的圆圈的右边缘

    试图弄清楚如何将 信息框 附加 到 Google 地图 v3 中绘制的圆圈的左边缘 这是我到目前为止所拥有的 http jsfiddle net a1aq9ey8 6 http jsfiddle net a1aq9ey8 6 如果放大 缩小
  • SDK 管理器中缺少 Google Play 服务

    我想在我的应用程序中使用 Google 地图 我想在 SDK 管理器中安装 Google Play 服务 但是当我转到 SDK 管理器时 我没有看到 Google Play 服务 为什么 我该如何安装这个 我可以独立于 SDK Manage
  • 如何使用地点 ID 获得指向 google 地图上某个地点的直接链接

    我的应用程序中有谷歌地图上某个地点的地点 ID 有没有办法将地点 ID 放入 URL 中并使其直接链接到页面 还是必须通过URL来完成 我似乎在文档中找不到任何详细说明这一点的内容 我在下面尝试过 但它只是让我得到标准的谷歌地图页面 htt
  • Google 地图 api 中的 infoWindow 数组

    我寻找错误 但找不到它 由于某种原因 任何谷歌地图信息窗口总是显示相同的信息 这是一个咖啡脚本代码 infowindow new google maps InfoWindow for company in companiesData mar

随机推荐