我發現用下面以設置標記的可視性的方式:如何使用Google的版本3 API設置多邊形的可見性?
// create the marker
blueMarker = new google.maps.Marker({
position: new google.maps.LatLng(33.514428, -112.29056534285377),
draggable: true,
raiseOnDrag: false,
icon: './Images/blue3Marker.png',
shapeType: 'BuyersEdgeArea',
shapeID: '3'
});
// set the marker on the map
blueMarker.setMap(map);
然後我用blueMarker.setVisible(假)或blueMarker.setVisible(真),以使其可見/不可見。
但如何我一個多邊形一樣嗎?
下面是我已經設置了我的多邊形:
BuyersEdge3 = new google.maps.Polygon({
clickable: true,
paths: BuyersEdgePath3,
strokeColor: '#000000',
strokeOpacity: 1,
strokeWeight: 2,
fillColor: ' #810541 ',
fillOpacity: 0.35
});
// set the shape on the map
BuyersEdge3.setMap(map);
現在我將如何讓這種形狀不可見?
我的情況是,我有一個複選框,其中用戶檢查無論是看還是不看多邊形。第一次檢查時,我將創建多邊形,但後續時間,我只想使多邊形的形狀可見或不可見。
我將一個虛擬地球應用,在那裏我可以只是「作秀」或「隱藏」與它的多邊形層,但我不能找點事做的伎倆使用JavaScript中的谷歌API的版本3。
OH !!!!我懂了!謝謝。因此,如果我可以加入這個問題,我想通過傳入一個我想要隱藏的BuyersEdge形狀的'value'來讓我的show()hide()泛型。所以我嘗試了這個;函數hidePolygon(value) var be ='BuyersEdge'+ value; be.hide(); <-----不起作用 BuyersEdge3.hide(); <-----作品 } – user1074359
var be ='BuyersEdge'+ value;將使be ='BuyersEdge3'..和'BuyersEdge3'是一個字符串。和字符串沒有.hide方法... – marxus
@marxus我修改了你的解決方案只使用this.setMap,但我不想發佈它作爲答案。基本上所有你需要做的就是在隱藏的時候將地圖設置爲空,然後回到show上的原始值。 – samspot