2016-02-26 56 views
0

设置为map.data.setControls(null)我仍然可以绘制另一个多边形。如何只绘制一个多边形?如果多边形已经存在,请禁用图形

http://jsfiddle.net/atrxw00x/1

function savePolygon() { 
    map.data.toGeoJson(function (json) { 
    localStorage.setItem('geoData', JSON.stringify(json)); 
    if(json.features.length > 0) { 
     map.data.setControls(null); 
    } else { 
     map.data.setControls(['Polygon']); 
    } 
    initControls(json); 
    }); 
} 
+1

你拨弄去,你可以检查是否有“polylist”下拉列表中的所有元素,如果有,那么你可以调用:map.data.setControls(null);. 该调用删除绘图工具栏。 –

+0

@BharatGupta谢谢。 'map.data.setControls(null)'我们仍然可以绘制一个新的多边形。我也想禁用它。 –

回答

1

您需要使用setDrawingMode电话:

if (json.features.length) { 
    map.data.setControls(null); 
    map.data.setDrawingMode(null); 
} 
+0

@MrJoe ...你改变了问题。哈哈... :) –