张家口产业监测
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

87 lines
3.2 KiB

// 高德地图工具类
var MapUtil = {
/**
* 添加地图边界
* <pre>
* config:
* region: 行政区划代码
* areaName: 行政区划名称
* earecode: admin.earecode
*
* </pre>
* @param {Object} map 高德地图 map 实例
* @param {{ region:string,
* areaName:string,
* earecode:string}} config 配置
*/
add_border: function (map, config) {
var district;
var areaDisLevel = config.earecode;
var len = areaDisLevel.length;
var areaName = '';
if (len == 6) {
areaDisLevel = 'district';
} else if (len == 4) {
areaDisLevel = 'city';
} else {
areaDisLevel = 'province';
areaName = '河北省';
config.areaName = areaName;
}
if (map != null) {
var obj = MAP_BORDER_ARR[config.region];
if (obj != null) {
var polygon = new AMap.Polygon({
path: obj.borderArray,
fillColor: '#80d8ff', // 多边形填充颜色
strokeWeight: 5, // 线条宽度,默认为 1
fillOpacity: 0,
strokeColor: '#0091ea', // 线条颜色
});
map.add(polygon);
if (obj.zoom) {
map.setZoom(10);
}
map.setCenter(obj.center);
} else {
var polygons = [];
var name = config.areaName;
AMap.service('AMap.DistrictSearch', function () {//回调函数
var opts = {
showbiz: false,
subdistrict: 0, //获取边界不需要返回下级行政区
extensions: 'all' //返回行政区边界坐标组等具体信息
};
district = new AMap.DistrictSearch(opts);
district.setLevel(areaDisLevel);//district、city、province、country
district.search(name, function (status, result) {
if (polygons == null || polygons.length == 0) {
map.remove(polygons); //清除上次结果
polygons = [];
}
var bounds = result.districtList[0].boundaries;
if (bounds) {
for (var i = 0, l = bounds.length; i < l; i++) {
//生成行政区划polygon
var polygon = new AMap.Polygon({
strokeWeight: 5,
path: bounds[i],
fillOpacity: 0,
fillColor: '#80d8ff',
strokeColor: '#0091ea'
});
polygons.push(polygon);
}
}
map.add(polygons);
map.setFitView(polygons);//视口自适应
});
});
}
}
}
};