Google街景标记图标大小会自动缩小

时间:2014-02-19 12:09:06

标签: google-maps google-maps-api-3 google-maps-markers google-street-view

我正在使用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 );

以下问题:

  1. 在街景视图开始时,我必须“移动”到另一个点以显示标记。我可以在StreetviewPanorama的开头显示它而不是在“移动”到另一个点之后显示它吗?

  2. 为了测试标记,我让它们可以拖动。如果我将它们拖到Panorama-Height的中间位置,Marker-Icon会开始缩小它的大小。

  3. 让我尝试指定“在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变小或消失时,我无法做到这一点。

    任何人都知道我能做什么?

1 个答案:

答案 0 :(得分:1)

我对此问题的理解是,Google假定您的标记位于“街道级”,如documentation所述。将标记拖动到全景图的上半部分就像拖动它一样。

我不知道是否有办法改变这种行为。

检查以下小提琴:

JSFiddle

切换到街景,将标记拖动到全景图的上半部分,然后关闭街景并检查标记在地图上的位置。很远。

我尝试过使用POV。我想也许音调会改变一些东西,但似乎并非如此。

panorama.setPov({
    heading: 200,
    zoom: 1,
    pitch: 30
});