// 百度地图API功能 var map = new BMap.Map("main", {enableMapClick:false}); map.centerAndZoom(new BMap.Point(118.890476,32.139507), 13); map.enableScrollWheelZoom(); // function myFun(result){ // var cityName = result.name; // map.setCenter(cityName); // } // var myCity = new BMap.LocalCity(); // myCity.get(myFun); // 鼠标点击经纬度集合[坐标点集合] var pointList = []; // 鼠标点击经纬度集合 var dataList = []; //单击获取点击的经纬度 map.addEventListener("click",function(e){ // 存储坐标点 pointList.push(new BMap.Point(e.point.lng, e.point.lat)); // map.clearOverlays();//删除全部覆盖物,每点击一次清除一次全部覆盖物 map.removeOverlay(polygon);//删除指定覆盖物[多边形] // 生成多边形 printMap(); // 存储经纬度 var data = {}; data.lng = e.point.lng; data.lan = e.point.lat; dataList.push(data); }); // 生成多边形方法 var polygon = {}; function printMap(){ polygon = new BMap.Polygon(pointList, {strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5}); //创建多边形 map.addOverlay(polygon); //增加多边形 } // 获取经纬度json字符串集合 $scope.polygon = ''; $scope.getPointData = function (){ $scope.polygon = ''; $.each(dataList, function(i, item){ $scope.polygon += '{"lng":"'+item.lng+'","lan":"'+item.lan+'"},' }); } // POI搜索 $scope.name = ''; $scope.localSearch = function (){ pointList = []; dataList = []; $scope.polygon = ''; map.removeOverlay(polygon); var local = new BMap.LocalSearch(map, { renderOptions:{map: map} }); local.search($scope.name); } // 清除数据 $scope.gotoClean = function (){ pointList = []; dataList = []; $scope.polygon = ''; map.clearOverlays(); } // 生成预定的多边形 var polygonList = []; function addStreetPolygon(data){ // 判断是否为真实数据 if($.isEmptyObject( data )){ return; } // 多边形电子围栏数据 var boundaries = data.boundaries; if(!$.isEmptyObject(data.boundaries) && boundaries.length > 3){ var pointList = []; $.each(boundaries, function(i, item){ pointList.push(new BMap.Point(item.lng,item.lan)); }); var polygon = new BMap.Polygon(pointList, {strokeColor:"rgb(76,132,217)", fillColor:"rgb(222,230,241)", strokeWeight:2, strokeOpacity:0.8}); //创建多边形 map.addOverlay(polygon); //增加多边形 // polygon.enableEditing(); } var opts = { position : new BMap.Point(data.cp[0],data.cp[1]), // 指定文本标注所在的地理位置 offset : new BMap.Size(20, -30) //设置文本偏移量 } var label = new BMap.Label(data.name, opts); // 创建文本标注对象 label.setStyle({ color : "red", fontSize : "12px", height : "20px", lineHeight : "20px", fontFamily:"微软雅黑" }); map.addOverlay(label); var marker = new BMap.Marker(new BMap.Point(data.cp[0],data.cp[1])); map.addOverlay(marker); } $scope.list_street = []; function initMethod(){ $scope.list_street = bmapUtils.list_street_qixia(); $.each($scope.list_street, function(i, item){ addStreetPolygon(item); }); data = bmapUtils.loadbmapfile_qixia(); var boundaries = data.boundaries; var pointList = []; $.each(boundaries, function(i, item){ pointList.push(new BMap.Point(item.lng,item.lan)); }); var polygon = new BMap.Polygon(pointList, {strokeColor:"rgb(76,132,217)", fillColor:"rgb(222,230,241)", strokeWeight:2, strokeOpacity:0.8}); //创建多边形 map.addOverlay(polygon); } initMethod();
转载于:https://my.oschina.net/wangweizhen/blog/3010471