2012-06-12 26 views
3

我在縮小地圖時(例如縮放:5)在小比例尺精確顯示來自KMZ文件的點。KMZ點在谷歌地圖中小規模顯示不準確的位置

例如,農民市場KMZ層的一些要點從水中開始,然後隨着放大點移動到陸地上並在放大地圖時變得更加準確。只有在一定程度上放大時,點纔會顯示在其準確的位置。

當地圖縮小時,如何以更小的比例更精確地顯示點?謝謝!

回答

3

我已經在常規API標記中看到類似的行爲,當放置一個自定義圖標時,標記在縮小時似乎被「撞到」一邊。這種效果與標記圖像錨定的位置有關。默認情況下,它看起來像KML標記錨定在圖像的中心底部。

請注意,下面的農民市場PNG圖像有很多空白的「填充」。由於地圖的錨點位於圖像的底部,因此縮小時,紅色點將顯示爲向北移動。

marker image

我發現了一個網頁說的圖標需要至少32×32,以便填充應該呆在那裏。

要改變固定位置時,<hotspot>選項添加到IconStyle,as described here,例如,在圖像的中心:

<hotSpot x="0.5" y="0.5" xunits="fraction" yunits="fraction">

+0

我會嘗試出來。非常感謝! – user1451316

+0

因此,我已經裁剪了PNG,並在kmz中的kml文件中的熱點代碼中添加了點,並且點仍然顯示在水中..任何想法?我從shapefiles創建了kmzs,因此在轉換它們之前是否需要特定投影來投影shapefile? – user1451316

+0

我再次檢查了網站,並做了一些更多的研究。首先,Google地圖緩存kml,並且刷新kml的一種方式是在網址末尾添加虛假參數,如'?random = 123' [(源代碼位於此處)](https://groups.google.com/forum/) ?fromgroups#!topic/Google-Maps-API/12MpMvkS5a4)當我這樣做時,我發現所有圖標的大小都是它們大小的3到4倍,這並不好。之後,我發現一個頁面說kml圖標應該至少爲32x32,所以裁剪是一個不好的建議,我很抱歉。我認爲保留原始的32x32圖標,但使用'hotSpot'將起作用。 –