2011-08-23 117 views
2

我想在Google Map的中心顯示一些十字線。將Google地圖標記拖到地圖的中心位置嗎?

目前我有這樣的代碼:

 var mapCentre = map.getCenter(); 
     reticleMarker = new google.maps.Marker({ 
      position: mapCentre, 
      map: map, 
      icon: reticleImage, 
      shape: reticleShape, 
      optimized: false, 
      zIndex: 5 
     }); 
     google.maps.event.addListener(map, 'bounds_changed', 
      function(){reticleMarker.setPosition(map.getCenter());}); 

在桌面上偉大的作品,但無法在手機上。在移動時,當用戶的手指拖動地圖時,十字線不會留在地圖的中心。使用drag事件偵聽器不能更好地工作。

任何人都可以建議如何在移動瀏覽器中處理這個問題嗎? (僅供參考,我在Android瀏覽器中看到此問題。)

我在想也許我應該在CSS中顯示十字線而不是地圖標記?

回答

0

我想也許我應該在CSS顯示十字線,而不是作爲一個地圖標記?

我已經使用了類似的方法來取得很好的效果。你可以在地圖容器中放置任何你想要的HTML,谷歌地圖不會介意。

+0

不幸的是,如果顯示爲圖像,十字線會在地圖上創建一個死角 - 它們看起來不錯,但如果用戶觸摸到十字線覆蓋的任何地方,則無法拖動地圖。所以我需要一個替代解決方案... – Richard

+0

在我的情況下,我用HTML div來'繪製'邊框到窗格上。畫一個十字線不應該太難。如果你這樣做,當你開始拖動時碰到十字線的機會很小。一個完美的解決方案將要求您讓瀏覽器忽略十字線或將其上的所有事件轉發到底層地圖。這非常複雜。 – Halcyon

+0

這是一個很好的建議,但有人建議在CSS圖像上使用'pointer-events:none;',並解決了這個問題:http://stackoverflow.com/questions/7178669/display-png-over-google-maps -without-creating-dead-spot - 謝謝你的幫助。 – Richard