2011-08-30 195 views
0

我目前正在使用Google Maps API,並且我可以嘗試使用其他免費地圖API來完成我的任務。在Google地圖上添加自定義圖案疊加層

在我正在開發的其中一個項目中,我需要能夠將多個形狀疊加圖層疊加到另一個上面。我最初的想法是讓第一個覆蓋層使用不同的純色。對於後續的覆蓋圖層,我打算使用不同的顏色編碼圖案...例如:第二個覆蓋圖層使用顏色編碼的條紋圖案,而另一個覆蓋圖層使用顏色編碼的校驗框圖案。這樣,我可以堆疊這些覆蓋圖層來表示多個事物。對於第一個覆蓋圖層,我可以使用Polygon對象創建不規則形狀邊界,並且可以根據關聯的值在多邊形上設置不同的填充顏色。

經過挖掘,Google Maps API中的Polygon對象似乎只接受填充和筆觸顏色,而且我似乎無法在Polygon對象上設置自定義模式。我希望它至少會採用PNG模式文件,但它不會。我可以使用的最接近的東西是GroundOverlay對象,但這不適用於我,因爲它只接受2個座標(我相信左上角和右下角),而我需要在不規則形狀上創建自定義圖案疊加層。

我可以使用Google Maps API或任何其他地圖API(Bing,Yahoo等)完成此操作嗎?是否有任何第三方API允許我在Google地圖上集成自定義模式疊加層?

回答

1

我不相信任何你提到支持圖形矢量形狀層的API。我能想到的兩個選項是:

  • 使用半透明的填充顏色。假設您有一個具有半透明紅色多邊形的圖層,另一個圖層位於具有半透明藍色多邊形的頂部 - 它們之間的重疊區域將填充組合顏色(在此情況下爲紫色)。 Bing Maps當然支持多邊形填充的Alpha通道,我懷疑Google Maps也是如此。
  • 而不是使用矢量形狀圖層,使用任何你想要的填充圖案渲染你的數據作爲柵格圖層。將這些圖層切分爲根據quadkey tile編號系統編號的256px x 256px tile,並將它們作爲自定義拼貼圖層放置在地圖上。 (即顯示內置的道路地圖和天花板的方式)。如果您將拼貼塊渲染爲PNG,則可以將多個圖層堆疊在一起,並且具有透明(或半透明)區域,以顯示下方圖層中的數據。根據數據來源的不同,您可能會發現像Mapnik或Geoserver這樣的工具可用於創建切片圖層。
1

如果您只能使用筆畫模式(而不是填充模式),則最新版本的Bing地圖sdk允許您在創建多邊形時設置strokeDashArray。也許這足以識別你必須在地圖上疊加的不同形狀。

希望幫助...

相關問題