4

我使用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開始縮小尺寸。

讓我嘗試指定「在全景 - 高度的中間」:

當你拍攝全景照片,你知道你的頭,這是喜歡你的眼部中間嘆息。如果你看看上面,你可以在別人的頭上看..如果你看起來更上,你可以看到星星..

好吧,在這一點上,我們看你「在其他人的頭」該圖標開始縮小尺寸。

此行爲應該停止!我tryed用下面的代碼來分析它:

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

的大小和圖標的scalableSize保持不變(hotspot.content.width和高度= 50像素)。

所以我不明白爲什麼圖標變小。如果我將圖標拖到「其他人的頭像」上並放下圖標,它會消失,因爲它很小。

的問題的圖像:

你可以看到3個標記​​,每個人的50像素一個Size,50像素。越高,我拖動或放置他們,他們得到越小,直到消失。

在例子中,我想將其中一人的光。所以點擊燈光旁邊的圖標會打開一個Highlightbox,上面寫着「這是一盞燈」。但是,當Icon變小或消失時,我無法做到這一點。

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

+0

有趣的問題。有可能有一個[jsfiddle](http://jsfiddle.net)? – MrUpsidown

回答

1

我對問題的理解是,谷歌假設你的標記放置「在街道級」作爲documentation說。將標記拖動到全景圖的上部就像將其拖走一樣。

我不知道是否有改變這種行爲方式。

檢查以下小提琴:

JSFiddle

切換到街景,拖動標記到全景的上部,然後關閉街景和檢查您的標記在地圖上。遠處。

我試過玩POV。我想也許球場會改變一些東西,但似乎並非如此。

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

你好MrUpsidown,謝謝你的回答。看起來像它的「在街頭一級」。也許標記不是這個問題的正確解決方案。我嘗試手動添加圖像並使用函數在正確的位置替換它們,每次更改視點。目前我找不到合適的配方,但我盡我所能。感謝您花時間! –

+0

是的,你是對的。我不認爲標記是用來這樣使用的。如果您找到解決方法,請在此處發佈您的解決方案。這可能對其他人有用。 – MrUpsidown

+0

現在我嘗試添加一個帶有背景圖片的div,並將它放置在頂部和左側。這看起來是一種可能的方式,但我無法弄清楚這個公式。我可以得到度數值的弧度,但我不知道我應該如何處理這個值。在這種情況下,你或其他人是否知道任何提示和技巧來幫助我? –