簡體   English   中英

在Google地圖api中加載多邊形

[英]Load polygon in Google map api

我想實現像用戶可以從我們的應用程序中繪制谷歌地圖中的區域。 然后當他回來時,應該加載之前由他/她繪制的數據。

我已經做了兩種方法。 一個是,

  1. 使用繪圖管理器。

    使用javascript在谷歌地圖中繪制多邊形

    https://developers.google.com/maps/documentation/javascript/drawinglayer

  2. 使用谷歌地圖api數據層。 http://jsfiddle.net/dg9e93qy/

從第一種方法,我可以允許用戶拖動,並可以限制用戶繪制多個多邊形。 但我無法再將多邊形加載到此圖形中。 但我找到了可以加載多邊形的地方。 https://developers.google.com/maps/documentation/javascript/examples/polygon-simple

但這是使用多邊形實例來顯示多邊形而不是繪圖。

在這里我需要任何其他兩個解決方案

  • 是否應該使用繪圖將多邊形數據加載到地圖中。

  • 應使用多邊形啟用繪圖選項https://developers.google.com/maps/documentation/javascript/examples/polygon-simple

從第二種方法,我可以得到坐標,並可以再次加載多邊形。 但是我無法從中得到多邊形區域。 (實際上我得到了geoJson數據)

在這里,我無法獲得繪制場所的區域。 怎么做?

第一種方法或第二種方法的任何答案都是好的。

我做了替代,創建了多邊形,而不是在同一個繪圖管理器中加載。

繪制完成后,刪除繪圖管理器,然后創建多邊形。 然后有一個單獨的按鈕從地圖中刪除多邊形。

如果我們刪除多邊形,則從地圖中刪除多邊形並重新創建繪圖管理器。

這解決了我的問題。

drawingManager.setMap(null);
                    bermudaTriangle = new google.maps.Polygon({
                        paths: polygonsArray,
                        strokeColor: '#FF0000',
                        strokeOpacity: 0.8,
                        strokeWeight: 2,
                        fillColor: '#FF0000',
                        fillOpacity: 0.35
                        //,editable: true
                    });
                    bermudaTriangle.setMap(map);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM