问题标签 [fitbounds]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
565 浏览

javascript - Google Maps: Get a variable value from listener

I'm trying to do it in good way, but I can't.. Please tell me where is the problem.

Variable latlng is empty outside the jsondata.addListener.. I want to pass the latlng variable to:

But it doesn`t work..

This is my code:

0 投票
0 回答
549 浏览

javascript - Google Maps API v3 fitBounds() 似乎不适用于街道、地点等……仅适用于城市、地区、国家

案子:

我正在Google Map使用V3 API并让用户在使用该autocomplete功能的输入字段中键入一些起点和终点。

如果用户键入原点,则会创建一个标记并将其放置在地图中。地图居中并缩放到该标记。

如果用户还键入了目的地,则会放置一个新标记,但使用该fitBounds()方法调整地图以显示两个标记。此外,polyline绘制 a 以“连接”两个标记。

如果用户键入新的起点或终点,标记和折线会随之更新。

用户是否开始输入目的地或起点并不重要,因为代码以“两种方式”工作。

问题:

如果我输入国家、地区或城市,我的代码似乎可以正常工作,但如果我输入其他内容,它就会失败。诸如地方(建筑物、商店、景点……)、街道……标记已正确放置,但地图未相应缩放,折线未绘制。

控制台显示没有错误。

如果我使用城市、地区或国家/地区更新起点或目的地,地图将按预期工作,并且折线正确显示,即使其他元素是街道或地点也是如此。

代码:

演示:

您可以在这个jsfiddle中重现这种罕见的行为

有效的示例输入数据:

  • 慕尼黑
  • 巴伐利亚
  • 德国
  • 曼哈顿
  • 纽约

不起作用的示例输入数据:

  • 莱赫尔,慕尼黑,德国
  • 纽约市第五大道...
  • 泰姬陵,阿格拉...
  • 希思罗机场
  • Zara Home,摄政街...
0 投票
2 回答
1441 浏览

javascript - 谷歌地图 fitBounds 回调

我知道bounds_changed如果边界发生变化会触发一个事件,但是我需要知道 fitBounds 何时完成(当边界发生变化或边界保持不变时)。

谷歌有某种容忍度,如果边界变化很小,它实际上不会改变边界/调用 bounds_changed。我需要知道这种情况何时发生。

我已经通过超时成功地做到了这一点,但是当 bounds_changed 需要超过 100 毫秒的时间才能触发时,它看起来很笨拙并且可能容易出现一些错误。

参见示例: http: //jsbin.com/sosurexuke/1/edit ?js,console,output

有更好的解决方案吗?

编辑:如果您认为只是检查 map.getBounds() 是否与您发送的 fitBounds() 相同,那么您会失望地知道拟合边界的结果通常甚至不接近您发送的边界. 我写了这个函数,认为这可能是可能的

2年后编辑:

bounds_changed即使边界与当前边界相同,谷歌地图(3.32)的最新实验版本似乎也会被触发。

我将原始示例更新为版本 3.31,它仍然显示原始问题。

0 投票
1 回答
1302 浏览

google-maps - 将地图设置在中心以便显示多个标记的问题

我正在使用离子框架。我创建了地图,多个标记和值来自服务器端。所有数据都正确出现,但我不知道为什么会出现此错误-

代码:angular.module('starter', ['ionic', 'ngCordova'])

0 投票
1 回答
849 浏览

google-maps - 如何使用 2 个标记和 InfoWindow 拟合边界地图

我需要在我的地图上放置几个标记,还需要在其中一个上显示信息窗口。所有这些东西都应该在地图视口内。我正在尝试使用此代码来获取 InfoWindow 左上角、右上角和 2 个标记的边界:

但看起来我的想法是错误的。我该怎么做呢 infoWindow 和我的 2 个标记总是在地图视口内。

0 投票
2 回答
2267 浏览

leaflet - 传单 - Fitbounds 并保持居中

我正在将 Leaflet 与 Mapbox 一起使用,我想设置地图的视图,以便:

  1. 所有标记都可见
  2. 中心设置为特定点

使用 setView 和 fitbounds 分别处理每个点很容易,但我不知道如何同时拥有这两个点,因为 setView 更改了边界,而 fitBounds 更改了中心。一个解决方案可能是定义一个中心和一个缩放,但我怎么知道哪个缩放可以让我的所有标记都可见?

编辑

我实施了 IvanSanchez 建议的解决方案,它按预期工作:

0 投票
1 回答
1859 浏览

leaflet - Leaflet - 切换图层时缩放/平移到图层范围

我正在制作公交路线图,并且有几条用户可以打开和关闭的路线。我想弄清楚如何缩放/平移,以便选择的路线(或路线)在选择时完全显示在屏幕上。(有些是初始缩放级别的屏幕外)。

到目前为止,这是魔术:

我已经尝试了 map.fitBounds 的多种组合,但似乎无法得到它。

另外,有没有办法给控制框添加标题和副标题?我想让控制看起来像:

Day
[]Route 10
[]Route 11
夜晚
[]Route 12... 等

0 投票
1 回答
175 浏览

javascript - Google Maps V3 API - 以从 xml 文件中提取的类别为中心

我正在使用 Geocodezip 中的这个示例

地图上的标记会根据选择的类别而变化。我希望他们自动以标记类别为中心,但我很难让它工作。

我在这里和其他地方发现的所有 fitbounds 示例遇到的问题是它们需要在 Javascript 中定义标记,而我的标记是从 XML 文件导入的。我不确定下一步该尝试什么。

剧本:

0 投票
1 回答
2093 浏览

javascript - 让我的谷歌地图 fitBounds

我基本上想创建放大到与 SE-NW 角相对应的大小的地图。我尝试了很多变化,但无法让它发挥作用。我设法在我的脚本的一个版本上放置了两个标记,但无法使地图放大到标记的大小。我不需要标记,我只是在框外思考。我将在下面包含我的工作脚本,但希望能帮助您使 fitBounds 正常工作。我已经为此扎实工作了两天,但我不是程序员,我在这个网站上找到的很多解决方案和其他解决方案都不太有意义,或者它们没有解决我的确切问题。

0 投票
1 回答
2108 浏览

google-maps-api-3 - 谷歌地图:全屏+ fitBounds 不适合边界

我有一张显示带有markerClusterer标记的地图。

在普通视图中一切正常,但在全屏模式下,单击集群会运行“fitBounds”,并且缩放未正确更改(缩小而不是放大)。

编码:

html:

当在 markerclusterer.js 的 'triggerClusterClick' 中运行 fitbounds 时,会发生缩小而不是放大:

有谁知道发生了什么?

PS:全屏更改是使用“fullscreenControl”(在选项地图中启用)进行的

有问题的样本:小提琴