hn_cloud_web/smz-web/js/work/person/map.js

130 lines
3.1 KiB
JavaScript

$(function() {
initMap(); //加载地图
});
//创建地图 start
function initMap() {
createMap(); //创建地图
setMapEvent(); //设置地图事件
madeBoundary(); //加载区域图
}
function createMap() {
map = new BMap.Map("mapDiv", {
mapType: BMAP_HYBRID_MAP
}); //BMAP_HYBRID_MAP混合模式
map.centerAndZoom(new BMap.Point(106.70326, 26.66081), 8); //BMAP_SATELLITE_MAP 卫星
map.addControl(new BMap.MapTypeControl({
mapTypes: [
BMAP_NORMAL_MAP,
BMAP_HYBRID_MAP
]
}));
}
//创建地图 end
//地图设置start
function setMapEvent() {
map.enableScrollWheelZoom();
map.enableKeyboard();
map.enableDragging();
map.enableDoubleClickZoom()
}
//地图设置end
//设置区域图start
function madeBoundary() {
datas = new Array("贵州省-");
var bdary = new BMap.Boundary();
for (var i = 0; i < datas.length; i++) {
getBoundary(datas[i], bdary);
}
}
function getBoundary(data, bdary) {
data = data.split("-");
bdary.get(data[0], function(rs) { //获取行政区域
var count = rs.boundaries.length; //行政区域的点有多少个
var pointArray = [];
for (var i = 0; i < count; i++) {
var ply = new BMap.Polygon(rs.boundaries[i], {
strokeWeight: 3,
strokeColor: "#ff0000",
fillOpacity: 0,
fillColor: data[1]
}); //建立多边形覆盖物
map.addOverlay(ply); //添加覆盖物
}
});
}
//设置区域图end
//创建点strat
function createPoint(respone) {
var p = new BMap.Point(respone.lon, respone.lat);
p.projectName = respone.projectName;
p.orgName = respone.orgName;
p.name = respone.name;
return p;
}
//创建点end
function createMarker(lon, lat) {
var point = new BMap.Point(lon, lat);
// 绘制点
var marker = new BMap.Marker(point);
map.addOverlay(marker);
addClickHandler(marker);
map.centerAndZoom(point, 8); //BMAP_SATELLITE_MAP 卫星
}
// 覆盖物点击事件start
function addClickHandler(marker) {
marker.addEventListener("click", function(e) {
getManagerAttendDetails();
});
}
function createTobeinplaceMarker(lon, lat) {
var point = new BMap.Point(lon, lat);
// 绘制点
var marker = new BMap.Marker(point);
map.addOverlay(marker);
addTobeinplacekClicHandler(marker);
}
// 覆盖物点击事件start
function addTobeinplacekClicHandler(marker) {
marker.addEventListener("click", function(e) {
getTobeinplaceById();
});
}
// 创建信息窗口对象 start
function openInfo(content, lon, lat) { // 弹出窗口信息
var point = new BMap.Point(lon, lat);
var infoWindow = new BMap.InfoWindow(content, manageopts); // 创建信息窗口对象
map.openInfoWindow(infoWindow, point); // 开启信息窗口
}
// 创建信息窗口对象 end
// 管理人员信息窗口 start
var manageopts = {
width: 260, // 信息窗口宽度
height: 150, // 信息窗口高度
enableMessage: true
// 设置允许信息窗发送短息
};
// 管理人员信息窗口end
function createCircle(proLon,proLat) {
var point = new BMap.Point(proLon, proLat);//工程位置
map.centerAndZoom(point, 13);
var circle = new BMap.Circle(point, 2000, {
strokeColor: "blue",
strokeWeight: 2,
strokeOpacity: 0.5
}); //创建圆
map.addOverlay(circle); //增加圆
}