我有一個項目與谷歌地圖。我想用Zoom in
和Zoom out
動作模擬maps.google.com上下文菜單。
的google.maps.Map.setZoom()
被縮放地圖中心點但在maps.google.com當你在特定的點右鍵單擊並選擇放大/縮小操作,地圖平移,使這一特定點停留在同一個地方。
例如,如果我就在左上角點鼠標右鍵,選擇右鍵菜單Zoom in
,那麼這個蓬停留在光標變焦後,不走出去的地圖邊界。
有沒有簡單的方法來實現這個功能?谷歌地圖:放大/縮小到特定點,如在maps.google.com上下文菜單
2
A
回答
0
你可以用標記處理它。 我不知道這是否是最有效的方法。
所以你在你當前的鼠標位置添加一個標記(你可以跟蹤你的鼠標光標,對嗎?上次沒有做任何事情) 然後你設置地圖中心到那個標記(我知道,那有一個功能),只需刪除標記。
編輯:哦對不起,我想我誤解了你的問題。 Cuz會和雙擊一個點一樣嗎? 所以,你想擁有的距離鼠標< - >頂部和鼠標< - >留在sceen停留,因爲它與它下面的點,但一個階段進/出更多的放大?
0
的等效問題被問和回答:Zoom toward mouse (eg. Google maps)。
我對這個問題的方法是沿着相同的路線,除了我的地圖像素座標都計算相對於地圖(而不是左上角)的中心:
- 確定像素偏移您的特定點相對於地圖中心的位置。以像素爲單位的地圖矩形尺寸可以像map.getDiv()。getClientRects()[0]獲得,而中心只是矩形的中心。
- 計算放大/縮小後特定點的新像素偏移量。對於谷歌地圖放大所有像素偏移都加倍(對於單個縮放步驟),所以如果您的特定點距離中心[30,40],那麼在正常之後它將從地圖中心[60,80]放大(或在正常之後它將[15,20] 縮小。)
- 計算縮放後需要調整地圖中心的多少,以便特定點返回到開始位置。在上述例子中,後在變焦我們需要map.panBy(-30,-40),之後可選地縮小我們需要map.panBy(15,20)。
- 應用普通的map.setZoom(縮放),然後計算map.panBy(dX,dY)到recenter。
相關問題
- 1. 如何放大和縮小谷歌地圖上的圖標大小?
- 2. 谷歌地圖上的下拉菜單
- 3. Android谷歌地圖如何縮放到特定區域
- 4. 谷歌地圖拖動像在maps.google.com
- 5. 獲得平滑放大和縮小在谷歌地圖
- 6. 加載,滾動,放大和縮小圖像像谷歌地圖
- 7. 谷歌地圖不縮小
- 8. 在谷歌地圖上放置針點
- 9. 如何放大谷歌地圖中的特定點添加到uiwebview?
- 10. 動畫縮放到谷歌地圖上的點擊位置(自定義谷歌地圖控件)
- 11. 自定義谷歌地圖不縮小
- 12. 谷歌地圖v3 - 放大/縮小能夠重複(和recenter)?
- 13. 的fancybox:放大/縮小爲谷歌地圖
- 14. 基於谷歌地圖V2縮放調整大小標記android
- 15. 谷歌地圖國家下拉菜單
- 16. 谷歌地圖下的菜單欄
- 17. 放大和縮小在我的谷歌地圖Android上不工作
- 18. 谷歌地圖上下文菜單 - Pearman代碼
- 19. 谷歌地圖v3 - 上下文菜單可用?
- 20. 谷歌地圖刪除標記路由上下文菜單
- 21. max放大谷歌地圖
- 22. 放大谷歌地圖API
- 23. 捏縮小在谷歌地圖在Android?
- 24. 在谷歌地圖上放置文字
- 25. 谷歌地圖v3縮放特定位置
- 26. 谷歌地圖在Android上的WebView捏到縮放
- 27. 使用下拉菜單在谷歌地圖上切換位置
- 28. 谷歌地圖SDK Swift,像Uber的地圖一樣放大和縮小
- 29. 創建放大和縮小谷歌地圖上的工具按鈕
- 30. 谷歌地圖點不會出現,直到低縮放級別
是的,你誤會了,你第二猜測是正確的。如果我用latlng(55.000,38.000)右鍵單擊該點並選擇菜單中的「放大」,則此點將停留在首先右鍵單擊的位置。 – oluckyman