非常简短的问题 - 因为我在谷歌地图API V3文档中找不到答案
我正在寻找一个控件,允许我控制/修改API地图的方向,使北方不在顶部。
是否可能?如果是,如何实现?
谢谢
非常简短的问题 - 因为我在谷歌地图API V3文档中找不到答案
我正在寻找一个控件,允许我控制/修改API地图的方向,使北方不在顶部。
是否可能?如果是,如何实现?
谢谢
OpenLayers是一个免费、轻量级而且非常完整的javascript地图API。只需看一下它们的示例页面,就可以发现它看起来非常棒(旋转示例:https://openlayers.org/en/latest/examples/rotation.html)。
OpenLayers也可以显示谷歌地图瓦片,并且可以进行旋转https://gis.stackexchange.com/a/277606/114599
目前,Google Maps API没有旋转地图的选项(我希望这个功能能尽快加入)。
mapTypeId
设置为 satellite
或 hybrid
。tilt: 45
来启用地图倾斜。此参数将使地图以45度倾斜,从2D地图视图变成类似3D的视图。heading
参数设置为所需的旋转角度(0、90、180和270度)。这只有在启用了 tilt
参数时才有效。
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
Google Maps无法实现这一点。不幸的是,它总是面向北方。
我似乎记得OpenStreetMaps可以转动,我正在寻找一些东西来证实这个猜测。稍后会和你联系。
Google Maps(公共网络版本)确实可以像Google Earth一样在任何位置使用CTRL +单击来执行此操作。 但是API版本不支持该功能。
请参见屏幕截图:https://ibb.co/VBn6Cjv
现在所有地点都可以实现,但需要付费的Google Cloud计划。
诀窍是使用矢量地图并设置heading
配置。
矢量地图设置指南https://developers.google.com/maps/documentation/javascript/webgl
旋转演示:https://developers.google.com/maps/documentation/javascript/webgl/tilt-rotation