我正在使用Google Maps API v3来展示Google(StreetviewPanorama)并在其中放置标记。
这就像典型的Google街景,但内部建筑物不是街道。
所以我设法用以下代码在其中放置一个标记:
var marker = new google.maps.Marker({
position: streetview.getPosition(), // Test LatLng Position Value
icon: {
url: 'images/alert-icon.png',
size: new google.maps.Size( hotspot.content.width, hotspot.content.height ),
scaledSize: new google.maps.Size( hotspot.content.width, hotspot.content.height )
},
title: 'Alert',
draggable: true,
clickable: true,
raiseOnDrag: false
});
marker.setMap( streetview );
以下问题:
在街景视图开始时,我必须“移动”到另一个点以显示标记。我可以在StreetviewPanorama的开头显示它而不是在“移动”到另一个点之后显示它吗?
为了测试标记,我让它们可以拖动。如果我将它们拖到Panorama-Height的中间位置,Marker-Icon会开始缩小它的大小。
让我尝试指定“在Panorama-Height的中间”:
当你拍摄全景图片时,你知道你的头部在哪里,这就像你的眼睛叹息的中间。如果你看上面你可以看到其他人的头部..如果你看起来更高,你可以看到星星..
好的,在这一点上,我们看起来“超过其他人的头”,图标开始缩小他的尺寸。
此行为应该停止!我试着用以下代码分析它:
var mouse_up = google.maps.event.addListener( marker, "mouseup", function( e ){
console.log( marker.getPosition(), marker.getIcon() );
});
Icon的大小和scalableSize保持不变(hotspot.content.width和height = 50px)。
所以我不明白为什么图标会变小。如果我将图标拖到“其他人的头部”的上方并放下图标,它就会消失,因为它很小。
有问题的图片:
你可以看到3个标记,每个标记大小为50px,50px。我拖动或定位的越高,它们越小,直到消失。
在示例中,我想将其中一个置于灯光下。因此,点击灯光附近的图标将打开一个Highlightbox,上面写着“这是一盏灯”。但是,当Icon变小或消失时,我无法做到这一点。
任何人都知道我能做什么?
答案 0 :(得分:1)
我对此问题的理解是,Google假定您的标记位于“街道级”,如documentation所述。将标记拖动到全景图的上半部分就像拖动它一样。
我不知道是否有办法改变这种行为。
检查以下小提琴:
切换到街景,将标记拖动到全景图的上半部分,然后关闭街景并检查标记在地图上的位置。很远。
我尝试过使用POV。我想也许音调会改变一些东西,但似乎并非如此。
panorama.setPov({
heading: 200,
zoom: 1,
pitch: 30
});