问题标签 [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.
google-maps - 如果我知道 GPS 的中心位置和左上角位置,如何获得矩形的纬度和经度?
背景:
我正在尝试使用谷歌地图地面覆盖,但我们缺少 GPS 位置。
我们有一张要覆盖的地图,它是在谷歌地图屏幕截图上绘制的。从这个屏幕截图中,我们记录了左上角和中心中心位置。
我们需要右下角的位置来准确地叠加这些图像。见下文:
最初的想法是找到两点之间的差异并将其添加到中心点。
尝试的逻辑:
在 JavaScript 中:
问题:
然而,这似乎是地球曲线将简单的数学抛出门外的地方。我猜下面发生的事情就是原因。
因此,鉴于我有一个矩形叠加层,并且我知道左上点和中心点,我可以计算出上图中右下点即 X 的纬度和经度。注意我不知道这个矩形的真实世界距离。
注意:我也知道我必须将这些更改为 NW / SE 才能使用地面覆盖。
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 缩放并在屏幕上正确移动。谢谢!
android - 使用 Google 地图 android 将 GroundOverlay 添加到 StreetViewPanoramaFragment 或 StreetViewPanoramaView
不要以duplicate
or结束这个问题too-broad
。
我已经StreetView
在我的演示应用程序中实现并使用代码正常工作:
现在我想添加(使用GroundOverLay
)StreetView
。但是到目前为止,我已经进行了很多搜索,发现我们无法将叠加层直接添加到StreetView
. 也没有任何方法可以添加StreetView
。GoogleMap
那么是否必须使用Google Map JavaScript V3
或从谷歌地图 v2 我们可以将叠加层添加到街景?
高级帮助将不胜感激!
android - 仅将相机限制在地面覆盖物上?谷歌地图 Android API v2
我正在尝试向我的用户显示带有标记的地面覆盖层。我试图将视图限制为仅放置在地图上的此图像。我希望用户只能将图像视为放置在地图上的地面叠加层,而不能转到周围的地图。如果他们越过边缘,手势将被阻止。
我想要这样的东西:
我不想要这个: show-only-ground-overlays-map-android或者这个:
我试图将我的图像设置map.setLatLngBoundsForCameraTarget()
为我的图像边界,但结果类似于上一张图像......
接下来我尝试LatLng
在地面覆盖层周围设置一堆对象,并检查curScreen.contains(customMapDetectionPoints.get(LatLng Object))
它们是否出现在视口上。它确实有效,但我无法阻止相机越过边缘......
到目前为止,这是我的测试代码:
在这一点上,我认为我有两种可能的解决方案:
1-仅使用该setLatLngBoundsForCameraTarget()
功能并为相机设置偏移量或边距。但有可能吗?它适用于我的用例吗?
2-用已经编写的代码解决我的相机限制问题
感谢您的帮助!如果您找到其他解决方案,请提出其他解决方案!
如果需要,我会提供更多信息。
swift - 谷歌地图 GMSGroundOverlay 州或国家的形状
我想在谷歌地图上放置一张图片,使其适合所在国家或州的形状。我一直在寻找 GMSGroundOverlay 作为实现这一目标的潜在方式,但我想不出一种简单的方法来使叠加层呈现州/国家的形状。我希望有人可能对如何做到这一点提出建议?
提前致谢
android - 使用 GroundOverlay 的脉冲动画
我需要通过脉冲动画显示位置 A 和位置 B。我可以使用下面的代码来实现这一点。但我面临的问题是,当缩放级别发生变化时,GroundOverlay 会改变其大小。如果位置 A 和 B 彼此靠近(即地图放大级别高),则脉冲半径太大。当我缩小时,它变得太小了。
无论地图的缩放级别如何,如何保持叠加层的大小相同。
下面的代码是从这里引用的:Google Maps v2 上的动画透明圆没有正确动画
[这是两个位置相距较远时得到的结果][ ] 1
对于第一张图片,如果我放大,我会看到脉冲动画。
有没有一种方法可以使脉冲半径保持不变而不管缩放级别如何?
android - 地图 API:GroundOverlay 的 PNG
我正在为使用 Maps API 的 Android 创建一个应用程序,并且我想使用GroundOverlay
.
这是我的实际onMapReady
:
我尝试了在谷歌上找到的其他方法,但在所有情况下,都会发生此错误:
如第三行所写,GroundOverlay
只接受.bmp
图片。问题是我的图像在 in 时重约 15Mo,.png
而在 时重超过 500Mo .bmp
。.bmp
无法压缩中的图像,如果我想要最低质量,我无法将其缩小。
所以我的问题是:我怎样才能使用 GroundOverlay 而没有一个太重的文件?
android - 如何在 android 中使用 groundoverlay 将图像放在谷歌地图上,其中图像具有 5k(宽度)* 5k(高度)和 1.6 mb 大小?
我想在 android 中使用 groundoverlay 方法将我的城市包含道路和房屋的图像放在谷歌地图上,其中我的图像尺寸和尺寸非常大。我怎样才能把这个图像放在android的地图上?
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 但在谷歌地图中它没有显示世界地图,就像我分享的上面的图片链接一样。