【问题标题】:Google Streetview Marker Icon Size reduces automatically谷歌街景标记图标大小自动减小
【发布时间】:2014-02-19 12:09:05
【问题描述】:

我正在使用 Google Maps API v3 来显示 Google (StreetviewPanorama) 并在其中放置标记。

这就像典型的谷歌街景,但里面的建筑物不是街道。

所以我设法用以下代码在其中放置了一个标记:

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. 为了测试标记,我将它们设置为可拖动的。如果我将它们拖到全景高度的中间,标记图标会开始缩小尺寸。

让我尝试指定“在全景高度的中间”:

当您拍摄全景照片时,您就知道自己的头在哪里,这就像您的 Eye-Sighs 的中间。如果你往上看,你可以看到其他人的头顶。如果你往上看,你可以看到星星。

好的,此时,我们你看“在其他人的头上”图标开始减小他的大小。

这种行为应该停止!我尝试使用以下代码对其进行分析:

var mouse_up = google.maps.event.addListener( marker, "mouseup", function( e ){
    console.log( marker.getPosition(), marker.getIcon() );
});

图标的大小和可扩展大小保持不变(hotspot.content.width 和高度 = 50px)。

所以我不明白为什么图标变小了。如果我将图标拖到“其他人的头像”上方并放下图标,它就会消失,因为它太小了。

有问题的图片:

您可以看到 3 个标记,每个标记的大小为 50px,50px。我将它们拖动或放置得越高,它们就越小,直到消失。

例如,我想将其中一个放在灯光下。因此,单击灯附近的图标将打开一个突出框,上面写着“这是灯”。但是当图标变小或消失时,我不能这样做。

有人知道我能做什么吗?

【问题讨论】:

  • 有趣的问题。是否有可能拥有jsfiddle

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


【解决方案1】:

我对这个问题的理解是,Google 假设您的标记被放置在“街道级别”,正如 documentation 所说。将标记拖到全景图的上部就像将其拖走一样。

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

检查以下小提琴:

JSFiddle

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

我试过玩 POV。我想也许音调会改变一些东西,但事实并非如此。

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

【讨论】:

  • 您好 MrUpsidown,感谢您的回答。似乎它是“街道级别的”。也许标记不是这个问题的正确解决方案。每次更改视点时,我都会尝试手动添加图像并使用函数在正确的位置替换它们。目前我找不到合适的配方,但我尽力而为。感谢您抽出宝贵时间!
  • 是的,你是对的。我不认为标记应该以这种方式使用。如果您找到解决方法,请在此处发布您的解决方案。这可能对其他人有用。
  • 现在我尝试添加一个带有背景图像的 div 并将其定位在顶部和左侧。这看起来是一种可能的方式,但我无法弄清楚公式。我可以得到度数的弧度值,但我不知道我应该如何处理这个值。您或其他人是否知道在这种情况下可以帮助我的任何提示和技巧?
  • 在 jsfiddle 中发布您所拥有的内容,或者至少使用一些代码更新您的问题。这会有所帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-23
  • 1970-01-01
  • 2019-04-27
  • 2017-03-02
  • 2010-12-17
  • 1970-01-01
相关资源
最近更新 更多