2011-07-14 73 views
5

我有一個Gmap必須逐位放大。爲了達到這個目的,我需要將Google地圖縮放級別設置爲像這樣的「4.001」。我試圖通過簡單地將此值添加爲縮放級別,但它不起作用。谷歌地圖的具體放大

所以我的問題是如何使用小數點後面的多個數字來實現Google地圖縮放級別。它甚至有可能嗎?如果不是,我如何實現慢速精確的變焦?

由於

回答

3

當您想要縮放級別在4和5之間時(例如4.2或4.3),唯一的方法是使用集羣算法,因爲地圖被細分爲4.集羣意味着當瓦片如此接近以至於不再實用向他們展示。有一個例如標記管理器可以計算羣集,但它不適用於地圖,因爲它細分6或7個瓦片是沒有意義的。

5

根據該documentation,縮放級別對應於其中地球被劃分的片的數目:增加由1個雙打的細節水平縮放級別

zoom = 1 => tiles = 2^1 * 2^1 = 2 * 2 = 4 
zoom = 2 => tiles = 2^2 * 2^2 = 4 * 4 = 16 
zoom = 3 => tiles = 2^3 * 2^3 = 8 * 8 = 64 
etc 

。縮放級別是一個整數值。它對應於Google地圖上滑塊控件的離散值。

+0

所以根據你的解釋,我應該使用瓦片計算來增加縮放比例, 0.01的?你有任何如何在PHP中做到這一點的例子? – Sandor

+0

'var zoomLevel = 4;'zoomLevel是一個整數。 'map.setZoom(zoomLevel);'你不能使用例如'4.5'。您可以按「1」的步驟增加「zoomLevel」,例如從「4」到「5」。 – Jiri

+1

是的,我明白了,但我該如何達到4.5?通過瓷磚? – Sandor

2

您可以逐漸將地圖畫布從1縮放到2,也許還可以用元素遮蓋周圍環境。 然後在一次調用中,將css-zoom更改回1,然後將地圖縮放減1。 在變焦過程中,您會看到街道,名稱和線條放大,這是一種不需要的人造物,但它確實比地圖的變焦看起來更平滑。

通過將地圖縮放設置爲4並將CSS縮放設置爲1.5,可以實現4.5的縮放。

如果你不喜歡低分辨率結果,你可以做相反的事情:將CSS-zoom設置爲0.5,將maps-zoom設置爲5.兩者在數據使用方面都有其優點和缺點,像素密度,物體大小。