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
});
}
8条答案
按热度按时间inn6fuwd1#
这是现在可以为所有地点,但需要一个付费的谷歌云计划.
诀窍是使用矢量贴图并设置
heading
配置。矢量Map设置指南https://developers.google.com/maps/documentation/javascript/webgl
旋转演示:https://developers.google.com/maps/documentation/javascript/webgl/tilt-rotation
euoag5mw2#
你可以用45度的想象力做到这一点,但它只适用于特定的位置。
zc0qhyus3#
OpenLayers是一个免费的、轻量级的、非常完整的javascriptMapAPI,看看他们的示例页面,看起来棒极了(旋转示例:https://openlayers.org/en/latest/examples/rotation.html)。
OpenLayers也可以显示GoogleMap切片,然后可以旋转https://gis.stackexchange.com/a/277606/114599
btxsgosb4#
作为一种解决方法,您可以使用CSS转换来旋转其 Package 器div:旋转()
4dc9hkyq5#
目前,Google-Maps-API还没有旋转Map的选项(我希望这个功能很快就会出现)。
旋转贴图的唯一方法是:
1.Map类型ID为
satellite
或hybrid
1.Map缩放设置为高值(约18或更大)
1.通过设置
tilt: 45
启用标测图倾斜。此参数将标测图倾斜45度,从而将标测图显示从2D标测图视图更改为类似3D的视图。heading
参数设置为您想要的旋转(0、90、180和270度)。只有在启用tilt
时才有效。1.Map上的可见区域是支持Map倾斜操作的地方(这些位置具有用于4个方向(北、南、东和西)的4个不同的卫星图像。并非Map上的所有地方都具有这4个图像,因此并非Map上的所有地方都可以旋转。
有关更多信息,请参见:https://developers.google.com/maps/documentation/javascript/examples/aerial-rotation
envsm3lx6#
谷歌Map不这样做,它将永远不得不面对北方不幸。
我似乎确实记得OpenStreetMaps确实在旋转,我正在寻找一些东西来证实我的怀疑。我会在几分钟内给你回复。
cnwbcb6i7#
在Beta版本的Google Map Javascript API中,如果使用新的矢量Map格式,则支持 * 倾斜 * 和 * 航向 *(与方向有关)。
中使用v=beta
可以在here中找到完整的指令。
sirbozc58#
谷歌Map(公共网络版)确实可以做到这一点,就像谷歌地球可以在任何位置。只需使用CTRL+单击。但API版本不支持该功能。
参见屏幕截图:https://ibb.co/VBn6Cjv