var Boundary_bd = null;
$(document).on("mapctx_AfterInitMap", function(){
Boundary_bd = (function(){
var region_source = new ol.source.Vector();
var region_layer = new ol.layer.Vector({
source : region_source,
style : new ol.style.Style({
stroke : new ol.style.Stroke({
color : 'blue',
width : 1
}),
fill : new ol.style.Fill({
color : 'rgba(0, 0, 255, 0.1)'
})
})
});
mapctx.editor_map.addLayer(region_layer);
var Boundary_bd = new BMap.Boundary();
return {
// regions:[地名,地名,...]
drawBoundary: function(regions){
region_source.clear();
$.each(regions,function(index, region_name){
Boundary_bd.get(region_name,function(obj){
var boundaries = obj.boundaries;
$.each(boundaries, function(index, bnd){
var coordinates = [];
var coords = bnd.split(";")
for(var index=0;index<coords.length;index++){
var coord = coords[index].split(",");
coordinates.push([parseFloat(coord[0]),parseFloat(coord[1])]);
}
var polygon = new ol.geom.Polygon([coordinates]);
polygon.transform('EPSG:4326','EPSG:3857');
var border = new ol.Feature({
geometry : polygon,
});
region_source.addFeature(border);
});
mapctx.editor_view.fitExtent(region_source.getExtent(), mapctx.editor_map.getSize());
});
});
},
// 获取当前行政区的feature
getFeatures: function(){
return region_source.getFeatures();
}
}
})();
});