130 lines
3.1 KiB
JavaScript
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); //增加圆
|
||
|
|
}
|