问题标签 [gmsgroundoverlay]

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 投票
5 回答
4761 浏览

google-maps - 如果我知道 GPS 的中心位置和左上角位置,如何获得矩形的纬度和经度?

背景:

我正在尝试使用谷歌地图地面覆盖,但我们缺少 GPS 位置。

我们有一张要覆盖的地图,它是在谷歌地图屏幕截图上绘制的。从这个屏幕截图中,我们记录了左上角和中心中心位置。

我们需要右下角的位置来准确地叠加这些图像。见下文:

左上位置和中心位置 GPS 已知

最初的想法是找到两点之间的差异并将其添加到中心点。

尝试的逻辑:

在 JavaScript 中:

问题:

然而,这似乎是地球曲线将简单的数学抛出门外的地方。我猜下面发生的事情就是原因。

图像覆盖是平坦的,而 GPS 系统是弯曲的。

因此,鉴于我有一个矩形叠加层,并且我知道左上点和中心点,我可以计算出上图中右下点即 X 的纬度和经度。注意我不知道这个矩形的真实世界距离。

注意:我也知道我必须将这些更改为 NW / SE 才能使用地面覆盖。

0 投票
0 回答
259 浏览

ios - 使用 GMSGroundOverlay 显示动画 GIF

我正在尝试在 GMSMapView 的特定部分上显示动画 GIF,使用 GMSCoordinateBounds 指定地图的一部分以覆盖 GIF。

我选择使用 GMSGroundOverlay 是因为我希望在放大或缩小地图时图像能够正确缩放,并让图像保持固定在地图的一个地理部分。这似乎是完成这项任务的最佳工具。我发现 GMSMarkers 可以显示 GIF,但我还需要 GIF 能够随着地图的缩放而放大和缩小,而 GMSMarkers 似乎无法自己做到这一点。

目前,虽然我可以通过更改 GMSGroundOverlay 的图标属性来模拟动画,但我可以在图像之间切换,因为我正在使用 24 个下载的图像,但由于文件大小增加,这种解决方案并不理想。我尝试使用 UIImage 的 animatedImageWithImages:duration: 使用以下设置图标:

然而,这只显示了一个单一的静态图像。我发现 UIImageView 具有动画图像的功能,使用诸如 startAnimating() 之类的函数,所以我想知道这是否会导致可以在 GMSGroundOverlay 上显示 GIF 的解决方案。我想我可以自己将自己的 UIImageView 添加到叠加层中。但是,我觉得我已经走到了死胡同,因为我无法弄清楚 GMSGroundOverlay 的 UIimage icon是如何首先添加到叠加层中的。我不确定如何将 UIImage 添加到 NSObject,这就是 GMSGroundOverlay 最终的子类化。

我真的很感激一些关于在地图上制作 GIF 动画的建议,理想情况下使用 GMSGroundOverlay 仅使用单个 GIF 文件,并在用户移动地图时使 GIF 缩放并在屏幕上正确移动。谢谢!

0 投票
0 回答
149 浏览

android - 使用 Google 地图 android 将 GroundOverlay 添加到 StreetViewPanoramaFragment 或 StreetViewPanoramaView

不要以duplicateor结束这个问题too-broad

我已经StreetView在我的演示应用程序中实现并使用代码正常工作:

现在我想添加(使用GroundOverLayStreetView。但是到目前为止,我已经进行了很多搜索,发现我们无法将叠加层直接添加到StreetView. 也没有任何方法可以添加StreetViewGoogleMap

那么是否必须使用Google Map JavaScript V3或从谷歌地图 v2 我们可以将叠加层添加到街景?

高级帮助将不胜感激!

0 投票
0 回答
769 浏览

android - 仅将相机限制在地面覆盖物上?谷歌地图 Android API v2

我正在尝试向我的用户显示带有标记的地面覆盖层。我试图将视图限制为仅放置在地图上的此图像。我希望用户只能将图像视为放置在地图上的地面叠加层,而不能转到周围的地图。如果他们越过边缘,手势将被阻止。

我想要这样的东西:

在此处输入图像描述

我不想要这个: show-only-ground-overlays-map-android或者这个:

在此处输入图像描述

我试图将我的图像设置map.setLatLngBoundsForCameraTarget()为我的图像边界,但结果类似于上一张图像......

接下来我尝试LatLng在地面覆盖层周围设置一堆对象,并检查curScreen.contains(customMapDetectionPoints.get(LatLng Object))它们是否出现在视口上。它确实有效,但我无法阻止相机越过边缘......

到目前为止,这是我的测试代码:

在这一点上,我认为我有两种可能的解决方案:

1-仅使用该setLatLngBoundsForCameraTarget()功能并为相机设置偏移量或边距。但有可能吗?它适用于我的用例吗?

2-用已经编写的代码解决我的相机限制问题

感谢您的帮助!如果您找到其他解决方案,请提出其他解决方案!

如果需要,我会提供更多信息。

0 投票
0 回答
121 浏览

swift - 谷歌地图 GMSGroundOverlay 州或国家的形状

我想在谷歌地图上放置一张图片,使其适合所在国家或州的形状。我一直在寻找 GMSGroundOverlay 作为实现这一目标的潜在方式,但我想不出一种简单的方法来使叠加层呈现州/国家的形状。我希望有人可能对如何做到这一点提出建议?

提前致谢

0 投票
2 回答
1469 浏览

android - 使用 GroundOverlay 的脉冲动画

我需要通过脉冲动画显示位置 A 和位置 B。我可以使用下面的代码来实现这一点。但我面临的问题是,当缩放级别发生变化时,GroundOverlay 会改变其大小。如果位置 A 和 B 彼此靠近(即地图放大级别高),则脉冲半径太大。当我缩小时,它变得太小了。

无论地图的缩放级别如何,如何保持叠加层的大小相同。

下面的代码是从这里引用的:Google Maps v2 上的动画透明圆没有正确动画

[这是两个位置相距较远时得到的结果][ 在此处输入图像描述] 1

如果这两个位置彼此靠近,我会得到这种行为 在此处输入图像描述

对于第一张图片,如果我放大,我会看到脉冲动画。

有没有一种方法可以使脉冲半径保持不变而不管缩放级别如何?

0 投票
0 回答
407 浏览

android - 地图 API:GroundOverlay 的 PNG

我正在为使用 Maps API 的 Android 创建一个应用程序,并且我想使用GroundOverlay.

这是我的实际onMapReady

我尝试了在谷歌上找到的其他方法,但在所有情况下,都会发生此错误:

如第三行所写,GroundOverlay只接受.bmp图片。问题是我的图像在 in 时重约 15Mo,.png而在 时重超过 500Mo .bmp.bmp无法压缩中的图像,如果我想要最低质量,我无法将其缩小。

所以我的问题是:我怎样才能使用 GroundOverlay 而没有一个太重的文件?

0 投票
1 回答
367 浏览

google-maps - 谷歌地图 SDK iOS 地面覆盖在地图上显示几张图像和奇怪的黑色覆盖后停止加载。之后应用程序崩溃

通过 GroundOverlay 依次添加多个叠加图像。功能在开始时运行良好,在对地面覆盖层进行少量更改后,它要么停止加载覆盖层,要么如下所示显示奇怪的黑色图像,并且应用程序崩溃并带有以下堆栈跟踪。

问题图片

0 投票
1 回答
39 浏览

android - 如何在 android 中使用 groundoverlay 将图像放在谷歌地图上,其中图像具有 5k(宽度)* 5k(高​​度)和 1.6 mb 大小?

我想在 android 中使用 groundoverlay 方法将我的城市包含道路和房屋的图像放在谷歌地图上,其中我的图像尺寸和尺寸非常大。我怎样才能把这个图像放在android的地图上?

0 投票
2 回答
157 浏览

android - 我需要在带有动画的地图上显示带有 GroundOverlay 的世界地图

我需要在我的应用程序上显示世界地图。我尝试使用 MapView 并设置 liteMode= true 和 zoomLevel=1 但它没有按我的需要工作。liteMode也不支持groundOverlay,我需要在WorldMap上显示多个groundOverlay。任何人都可以知道吗?

请参考下面的链接,我需要像这样显示完整的世界地图。

https://upload.wikimedia.org/wikipedia/commons/b/b0/World_location_map_%28equirectangular_180%29.svg

下面我完成的代码:

在我的 Java 类中

在此添加了 zoomLevel=1 但在谷歌地图中它没有显示世界地图,就像我分享的上面的图片链接一样。