javascript 如何用谷歌MapAPI v3旋转Map方向

ax6ht2ek  于 2023-03-16  发布在  Java
关注(0)|答案(8)|浏览(217)

很短的问题-因为我无法在谷歌MapAPI V3文档中找到答案
我正在寻找一个控件,它允许我控制/修改APIMap的方向,使北方不在顶部。
这可能吗?如果可能,怎么可能?
谢谢

inn6fuwd

inn6fuwd1#

这是现在可以为所有地点,但需要一个付费的谷歌云计划.
诀窍是使用矢量贴图并设置heading配置。

矢量Map设置指南https://developers.google.com/maps/documentation/javascript/webgl
旋转演示:https://developers.google.com/maps/documentation/javascript/webgl/tilt-rotation

euoag5mw

euoag5mw2#

你可以用45度的想象力做到这一点,但它只适用于特定的位置。

zc0qhyus

zc0qhyus3#

OpenLayers是一个免费的、轻量级的、非常完整的javascriptMapAPI,看看他们的示例页面,看起来棒极了(旋转示例:https://openlayers.org/en/latest/examples/rotation.html)。
OpenLayers也可以显示GoogleMap切片,然后可以旋转https://gis.stackexchange.com/a/277606/114599

btxsgosb

btxsgosb4#

作为一种解决方法,您可以使用CSS转换来旋转其 Package 器div:旋转()

  • 您需要禁用DefaultUI,因为其中的每个元素也将旋转
4dc9hkyq

4dc9hkyq5#

目前,Google-Maps-API还没有旋转Map的选项(我希望这个功能很快就会出现)。

旋转贴图的唯一方法是:

1.Map类型ID为satellitehybrid
1.Map缩放设置为高值(约18或更大)
1.通过设置tilt: 45启用标测图倾斜。此参数将标测图倾斜45度,从而将标测图显示从2D标测图视图更改为类似3D的视图。

  1. heading参数设置为您想要的旋转(0、90、180和270度)。只有在启用tilt时才有效。
    1.Map上的可见区域是支持Map倾斜操作的地方(这些位置具有用于4个方向(北、南、东和西)的4个不同的卫星图像。并非Map上的所有地方都具有这4个图像,因此并非Map上的所有地方都可以旋转。
function initMap() {
      map = new google.maps.Map(document.getElementById('map'), {
        center: { lat: 45.518, lng: -122.672 }, // try to put different location and rotation may not work
        zoom: 18, // use a smaller zoom level and rotation may not work
        mapTypeId: 'satellite', // use TERRAIN or ROADMAP and rotation will not work
        heading: 90,
        tilt: 45
      });
    }

有关更多信息,请参见:https://developers.google.com/maps/documentation/javascript/examples/aerial-rotation

envsm3lx

envsm3lx6#

谷歌Map不这样做,它将永远不得不面对北方不幸。
我似乎确实记得OpenStreetMaps确实在旋转,我正在寻找一些东西来证实我的怀疑。我会在几分钟内给你回复。

cnwbcb6i

cnwbcb6i7#

Beta版本的Google Map Javascript API中,如果使用新的矢量Map格式,则支持 * 倾斜 * 和 * 航向 *(与方向有关)。

  • 首先创建一个新的MapId
  • 在API脚本标签
<script
src="https://maps.googleapis.com/maps/api/js?key=API_KEY&v=beta&callback=initMap">
</script>

中使用v=beta

  • 初始化Map时包括航向和倾斜属性,也使用MapId
  • 如果使用Chrome,请记住在设置中启用可用时使用硬件加速

可以在here中找到完整的指令。

sirbozc5

sirbozc58#

谷歌Map(公共网络版)确实可以做到这一点,就像谷歌地球可以在任何位置。只需使用CTRL+单击。但API版本不支持该功能。
参见屏幕截图:https://ibb.co/VBn6Cjv

相关问题