百度地图LV1.5实践项目开发工具类bmap.util.jsV1.2

/*** 百度地图使用工具类-v1.5* * @author boonya* @date 2013-7-7* @address Chengdu,Sichuan,China* @email boonya@sina.com* @company KWT.Shenzhen.Inc.com* @notice 有些功能需要加入外部JS库才能使用,另外还需要申请地图JS key .*         申请地址:http://developer.baidu.com/map/apply-key.htm
* @update 自动获取地图中心城市名称,坐标点地址解析
*/ (function() {window.map={};window.Geocoder={};window.BmapUtils={};window.infoWindow={};window.LocalSearch={};/*** 百度地图基础操作*/BmapUtils = {/*** 全局变量*/CONSTANT : {DYNAMIC_CITY:"",CONTAINER : "map",DEFAULT_ZOOM : 12,SEARCH_PANEL:"r-result",LINE_MAKERS_SHOW:false,FEATURES:{}},/*** 获取地图视图范围坐标* @returns {object} 范围对象*/getBounds : function() {if (map) {var bs = map.getBounds(); // 获取可视区域var bssw = bs.getSouthWest(); // 可视区域左下角var bsne = bs.getNorthEast(); // 可视区域右上角return {leftBottom : bssw,rightTop : bsne};}return null;},/*** 设置车辆图标* @param carImgUrl {string} 车辆图片路径* @returns {BMap.Icon} 百度Icon图标对象*/getIcon : function(carImgUrl,width,height) {var myIcon = new BMap.Icon(carImgUrl, new BMap.Size(width||20, height||20), { // 小车图片// offset: new BMap.Size(0, -5), //相当于CSS精灵imageOffset : new BMap.Size(0, 0)// 图片的偏移量。为了是图片底部中心对准坐标点。 });return myIcon;},/*** 初始化普通地图* @param lon {number} 经度* @param lat {number} 纬度* @param zoom {number} 缩放等级*/initCommonMap : function(lon, lat, zoom) {map = new BMap.Map(this.CONSTANT.CONTAINER,{enableMapClick:false});var point = new BMap.Point(lon || 116.331398, lat || 39.897445); // 默认地图初始化位置为北京map.centerAndZoom(point, zoom || this.CONSTANT.DEFAULT_ZOOM);},/*** 初始化3D地图* @param lon {number} 经度* @param lat {number} 纬度* @param cityname {string} 城市名称* @param zoom {number} 缩放等级*/my3Dmap : function(lon, lat, cityname, zoom) {map = new BMap.Map(this.CONSTANT.CONTAINER, {mapType : BMAP_PERSPECTIVE_MAP,enableMapClick:false});var point = new BMap.Point(lon || 116.4035, lat || 39.915);map.setCurrentCity(cityname || "北京"); // 设置地图显示的城市 此项是必须设置的map.centerAndZoom(point, zoom || this.CONSTANT.DEFAULT_ZOOM);map.enableScrollWheelZoom(true);},/*** 初始化卫星地图* @param lon {number} 经度* @param lat {number} 纬度* @param zoom {number} 缩放等级*/satelliteMap : function(lon, lat, zoom) {map = new BMap.Map(this.CONSTANT.CONTAINER, {mapType : BMAP_HYBRID_MAP,enableMapClick:false}); // 设置卫星图为底图var point = new BMap.Point(lon || 116.4035, lat || 39.915);map.centerAndZoom(point, zoom || this.CONSTANT.DEFAULT_ZOOM);map.enableScrollWheelZoom(true);},/*** 初始化地图(含普通操作控件)*/initBaiduMap:function(anchor){BmapUtils.initCommonMap(); // 初始化普通地图map.enableDragging(); // 开启拖拽// map.disableDragging(); // 禁止拖拽// map.enableInertialDragging(); // 开启惯性拖拽map.enableScrollWheelZoom(true); // 允许鼠标滚轮缩放地图var navigtionControl=anchor||{anchor : BMAP_ANCHOR_TOP_LEFT};map.addControl(new BMap.NavigationControl(navigtionControl)); // 添加默认缩放平移控件map.addControl(new BMap.ScaleControl({anchor : BMAP_ANCHOR_BOTTOM_LEFT})); // 左下角比例尺控件map.addControl(new BMap.OverviewMapControl()); // 添加默认缩略地图控件(鹰眼)var cr = new BMap.CopyrightControl({anchor : BMAP_ANCHOR_BOTTOM_LEFT});map.addControl(cr); // 添加版权控件(支持自定义版权控件)window.map=map;},/*** 初始化小地图* @param type {number} 平移缩放类型:平移和缩放1,只有平移2,只有缩放3,默认只有缩放* @param position {number} 停靠的位置:上左1,上右2,下左3,下右4,默认为上左*/smallMap:function(type,position){BmapUtils.initCommonMap(); // 初始化普通地图map.enableDragging(); // 开启拖拽map.enableScrollWheelZoom(true); // 允许鼠标滚轮缩放地图map.addControl(new BMap.ScaleControl({anchor : BMAP_ANCHOR_BOTTOM_LEFT})); // 左下角比例尺控件map.addControl(new BMap.OverviewMapControl()); // 添加默认缩略地图控件(鹰眼)var cr = new BMap.CopyrightControl({anchor : BMAP_ANCHOR_BOTTOM_LEFT});var navigtion_type="",where="";//平移导航的类型switch (type) {case 1:navigtion_type=BMAP_NAVIGATION_CONTROL_SMALL;break;case 2:navigtion_type=BMAP_NAVIGATION_CONTROL_PAN;break;case 3:navigtion_type=BMAP_NAVIGATION_CONTROL_ZOOM;break;default:navigtion_type=BMAP_NAVIGATION_CONTROL_ZOOM;break;}//平移导航停靠的位置switch (position) {case 1:where=BMAP_ANCHOR_TOP_LEFT;break;case 2:where=BMAP_ANCHOR_TOP_RIGHT;break;case 3:where=BMAP_ANCHOR_BOTTOM_LEFT;break;case 4:where=BMAP_ANCHOR_BOTTOM_LEFT;break;default:where=BMAP_ANCHOR_TOP_LEFT;break;}map.addControl(cr); // 添加版权控件(支持自定义版权控件)map.addControl(new BMap.NavigationControl({anchor: where, type: navigtion_type})); LocalSearch=new BMap.LocalSearch(map, {renderOptions:{map: map,panel:this.CONSTANT.SEARCH_PANEL}});window.map=map;},/*** IP定位城市*/ipLocateCity : function() {var myFun = function(result) {var cityName = result.name;map.setCenter(cityName);};var myCity = new BMap.LocalCity();myCity.get(myFun);},/*** 设置城市* @param result IP查询结果*/setCity:function(result){BmapUtils.CONSTANT.DYNAMIC_CITY=result.name;},/*** IP自动获取城市名称*/getDynamicCity:function(){var myCity = new BMap.LocalCity();myCity.get(this.setCity);return this.CONSTANT.DYNAMIC_CITY;},/*** 坐标点地址解析* @param point 经纬度点对象*/getGeocoderInfoByPoint:function(point){Geocoder.getLocation(point, function(rs) {var addComp = rs.addressComponents;Geocoder.point=point;Geocoder.city=addComp.city;Geocoder.address=addComp.province + " " + addComp.city + " "+ addComp.district + " " + addComp.street+ " " + addComp.streetNumber;});return Geocoder;},/*** 平移地图* @param lon {number} 经度* @param lat {number} 纬度*/panTo : function(lon, lat) {var point = new BMap.Point(lon, lat);map.panTo(point);},/*** 平移地图* @param lon {number} 经度* @param lat {number} 纬度*/panToPoint: function(point) {map.panTo(point);},/*** 创建信息窗口* @param title {string} 标题* @param message {string} 发送短信消息内容* @param divContent {string} 文本内容* @returns {BMap.InfoWindow} 信息对象*/createInfoWindow:function(title,message,divContent){var sendMessage=false;if(message) sendMessage=true;var opts = {width : 97, // 信息窗口宽度height : 95, // 信息窗口高度title : title, // 信息窗口标题enableMessage : sendMessage, // 设置允许信息窗发送短息message : message // 允许发送短信 };window.infoWindow = new BMap.InfoWindow(divContent, opts); // 创建信息窗口对象return window.infoWindow;},/*** 打开一个信息窗口* @param title {string} 信息标题* @param message {string} 需要发送的信息* @param divContent {string} 信息内容* @param point {object} 百度坐标点*/addInfoWindow : function(title,message,divContent,point,isCenter) {window.infoWindow=this.createInfoWindow(title, message, divContent);window.infoWindow.enableAutoPan();map.openInfoWindow(window.infoWindow, point); // 开启信息窗口if(isCenter)map.setCenter(point);},/*** 获取地图上打开的信息窗口* @returns object||null*/getOpendInfoWindow:function(){return map.getInfoWindow();},/*** 重绘信息窗口* @param 信息窗口对象*/redrawInfoWindow:function(){window.infoWindow.redraw();},/*** 居中和缩放* @param point {object} 百度坐标点* @param zoomLevel {number} 缩放等级*/centerAndZoom:function(point,zoomLevel){map.setCenter(point);map.setZoom(zoomLevel);}};/*** 百度要素操作工具*/BmapUtils.tootls = {/*** 越界控制*/handleFeatureInBounds:function(point) {var bounds =map.getBounds();if (!bounds.containsPoint(point)){map.panTo(point); // 是否在视图范围之内,若跃出视图则平滑居中 }},/*** 测量两点的距离* @param pointA 百度坐标点A* @param pointB 百度坐标点B* @return {number} 距离大小:单位:米(meter)*/distance : function(pointA, pointB) {return map.getDistance(pointA, pointB); // 获取两点距离 },/*** 添加Marker对象* @param title {String} toolTip文字* @param point {object} 百度坐标点对象* @param name {string} 显示名称* @param showLabel {boolean} 是否显示标注的文本* @param myIcon {boolean} Icon图片对象*/addMarker : function(title,point, name, showLabel,myIcon) {var marker = new BMap.Marker(point,{icon:myIcon});if (showLabel) {var label = new BMap.Label(name, {offset : new BMap.Size(20, -10)});marker.setLabel(label);}marker.setTitle(title);map.addOverlay(marker);return marker;},/*** 定位添加marker坐标* @param lon {number} 经度* @param lat {number} 纬度* @param isShow {boolean} 系统打开或关闭*/addMarkerDisplayOrUnDisplay : function(lon, lat, isShow) {var marker = new BMap.Marker(new BMap.Point(lon, lat)); // 创建标注marker.prototype=new BMap.Overlay();map.addOverlay(marker); // 将标注添加到地图中if (isShow) {marker.show();} else {marker.hide();}},/*** 添加折线(轨迹)* @param points 百度坐标对象集合*/addLineFeature : function(points,style) {var default_style={strokeColor : "#3976F0",strokeWeight : 3,strokeOpacity : 0.5};var polyline = new BMap.Polyline(points,style|| default_style );polyline.id="track_line";map.addOverlay(polyline); // 添加折线到地图上return polyline;},/*** 添加折线(轨迹,包括起点、终点)* @param sepoint {object} 起终点的名称.start ,.end* @param points {array} 原始JSON坐标对象集合* @param startImageUrk {string} 起点图片路径* @param endImageUrk {string} 终点图片路径*/addLineFeatureAndStartAndEndPoint : function(sepoint,points, startImageUrk, endImageUrk,lineStyle) {var len=points.length;var index =len - 1;var startPoint = points[0];var endPoint =points[index];var startIcon = BmapUtils.getIcon(startImageUrk,20,20);startIcon.setImageSize(new BMap.Size(20,20));var endIcon = BmapUtils.getIcon(endImageUrk,20,20);endIcon.setImageSize(new BMap.Size(20,20));var startMarker = new BMap.Marker(startPoint, {icon : startIcon});var endMarker = new BMap.Marker(endPoint, { icon : endIcon});startMarker.id="start";startMarker.setTitle(sepoint.start);endMarker.id="end";endMarker.setTitle(sepoint.end);if(len>=2){var d=(len/2)+"";d=parseInt(d);map.centerAndZoom(points[d],13);}this.addLineFeature(points,lineStyle);map.addOverlay(startMarker);map.addOverlay(endMarker);},/*** 路径规划* * @param startPoint {object} 起点* @param endPoint {object} 终点* @param carImgUrl {string} 车辆图片路径*/roadPlanToRun : function(startPoint, endPoint, carImgUrl) {var driving2 = new BMap.DrivingRoute(map, {renderOptions : {map : map,autoViewport : true}}); // 驾车实例driving2.search(startPoint, endPoint); // 显示一条公交线路var run = function() {var driving = new BMap.DrivingRoute(map); // 驾车实例 driving.search(myP1, myP2);driving.setSearchCompleteCallback(function() {var pts = driving.getResults().getPlan(0).getRoute(0).getPath(); // 通过驾车实例,获得一系列点的数组var paths = pts.length; // 获得有几个点var carMk = new BMap.Marker(pts[0], {icon : BmapUtils.getIcon(carImgUrl)});map.addOverlay(carMk);i = 0;function resetMkPoint(i) {carMk.setPosition(pts[i]);if (i < paths) {setTimeout(function() {i++;resetMkPoint(i);}, 100);}}setTimeout(function() {resetMkPoint(5);}, 100);});};setTimeout(function() {run();}, 500);},/*** 轨迹回放* @param points {Array} 百度坐标点集合* @param carImgUrl {string} 车辆图片的地址*/trackPlay : function(points, carImgUrl) {var carMk = new BMap.Marker(points[0], {icon : BmapUtils.getIcon(carImgUrl)});map.addOverlay(carMk);var i = 0;function resetMkPoint(i) {carMk.setPosition(points[i]);if (i < paths) {setTimeout(function() {i++;resetMkPoint(i);}, 100);}}setTimeout(function() {resetMkPoint(i);}, 100);},/*** 添加圆* @param lon {number} 经度* @param lat {number} 纬度* @param radius{number} 半径*/addCircle : function(lon, lat, radius) {var point = new BMap.Point(lon, lat);map.centerAndZoom(point, 16);var circle = new BMap.Circle(point, radius);map.addOverlay(circle);},/*** 添加多边形* @param points {array} 百度坐标点集合*/addPolygon : function(points) {var polygon = new BMap.Polygon(points, {strokeColor : "blue",strokeWeight : 3,strokeOpacity : 0.5});polygon.id="polygon";map.addOverlay(polygon);},/*** 根据用户覆盖物的标识属性获取覆盖物* @param properties {string} 属性名称* @param nodeId {string} 属性字段的值*/getOverlayByNodeId:function(properties,value){var overlays=map.getOverlays();for ( var i = 0,le=overlays.length; i < le; i++) {var overlay=overlays[i];if(overlay[properties]==value){return overlay;}}return null;},/*** 根据用户覆盖物的标识属性显示覆盖物* * @param properties {string} 属性名称* * @param nodeId {string} 属性字段的值*/showOverlay:function(properties,value){var overlay=this.getOverlayByNodeId(properties, value);overlay.show();},/*** 根据用户覆盖物的标识属性隐藏覆盖物* @param properties {string} 属性名称* @param nodeId {string} 属性字段的值*/hideOverlay:function(properties,value){var overlay=this.getOverlayByNodeId(properties, value);overlay.hide();},/*** 根据用户覆盖物的标识属性移除覆盖物* @param properties {string} 属性名称* @param nodeId {string} 属性字段的值*/removeOverlay:function(properties,value){var overlay=this.getOverlayByNodeId(properties, value);if(overlay) map.removeOverlay(overlay);},/*** 删除地图上所有覆盖物*/removeAllOverlays:function(){map.clearOverlays();},/*** 删除轨迹回放的线条轨迹和起始图标覆盖物*/removeTrackLineWithStartAndEndOverlay:function(){this.removeOverlay("id", "track_line");this.removeOverlay("id", "start");this.removeOverlay("id", "end");},/*** 控制缩放层级显示图标显示或隐藏* @param markers {array} 标注数组* @param zoom {number} 缩放等级*/controlMakersHideOrShowByZoom:function(markers,zoom){if(markers){var map_zoom=map.getZoom();if(map_zoom<zoom){for ( var i = 0; i < markers.length; i++) {var overlay=markers[i];if(overlay){overlay.prototype=new BMap.Overlay();overlay.hide();}}BmapUtils.CONSTANT.LINE_MAKERS_SHOW=false;}else{if(BmapUtils.CONSTANT.LINE_MAKERS_SHOW==false){for ( var i = 0; i <markers.length; i++) {var overlay=markers[i];if(overlay){overlay.prototype=new BMap.Overlay();overlay.show();}}BmapUtils.CONSTANT.LINE_MAKERS_SHOW=true;}}}}};/*** 百度探索处理*/BmapUtils.search = {/*** 本地探索(含自动提示)* @param inputSuggestId {string} 输入框的id属性* @param searchResultPanelId {string} 结果面板的id属性*/localSearch : function(inputSuggestId, searchResultPanelId) {function G(id) {return document.getElementById(id);}var ac = new BMap.Autocomplete( // 建立一个自动完成的对象 {"input" : inputSuggestId,"location" : map});ac.addEventListener("onhighlight", function(e) { // 鼠标放在下拉列表上的事件var str = "";var _value = e.fromitem.value;var value = "";if (e.fromitem.index > -1) {value = _value.province + _value.city + _value.district+ _value.street + _value.business;}str = "FromItem<br />index = " + e.fromitem.index+ "<br />value = " + value;value = "";if (e.toitem.index > -1) {_value = e.toitem.value;value = _value.province + _value.city + _value.district+ _value.street + _value.business;}str += "<br />ToItem<br />index = " + e.toitem.index+ "<br />value = " + value;G(searchResultPanelId).innerHTML = str;});var myValue = "", local = {};var setPlace = function() {map.clearOverlays(); // 清除地图上所有覆盖物function myFun() {var pp = local.getResults().getPoi(0).point; // 获取第一个智能搜索的结果map.centerAndZoom(pp, 18);map.addOverlay(new BMap.Marker(pp)); // 添加标注 }local = new BMap.LocalSearch(map, { // 智能搜索 onSearchComplete : myFun});local.search(myValue);};ac.addEventListener("onconfirm", function(e) { // 鼠标点击下拉列表后的事件var _value = e.item.value;myValue = _value.province + _value.city + _value.district+ _value.street + _value.business;G(searchResultPanelId).innerHTML = "onconfirm<br />index = "+ e.item.index + "<br />myValue = " + myValue;setPlace();});},/*** POI查询* @param inputId {string} 输入框id属性名称*/poiSearch:function(inputId){var poiInfo=$("#"+inputId).val();var mapZoom=map.getZoom();if(mapZoom<12){$.messager.alert("提示", "当前搜索面积太广,请将地图放大到市级别后再搜索", "warning");return ;}if(poiInfo==""){$.messager.alert("提示", "请输入搜索关键字", "warning");return ;}LocalSearch.searchInBounds(poiInfo, map.getBounds());}};/*** 百度地图自定义控件*/BmapUtils.control={/*** 轨迹回放操作菜单控件*/addTrakPalyControl:function(){function TrackControl(){// 默认停靠位置和偏移量this.defaultAnchor = BMAP_ANCHOR_BOTTOM_RIGHT;this.defaultOffset = new BMap.Size(10, 20);}// 通过JavaScript的prototype属性继承于BMap.ControlTrackControl.prototype = new BMap.Control();// 自定义控件必须实现自己的initialize方法,并且将控件的DOM元素返回// 在本方法中创建个div元素作为控件的容器,并将其添加到地图容器中TrackControl.prototype.initialize = function(map){// 创建一个DOM元素// var mapContainerDiv= map.getContainer();var div=document.createElement("div");// 创建节点内容var htmlContent='<div class="playDiv" style="z-index: 1000;position: absolute; right: 10px; bottom: 20px;">'+'<div class="f-right ml20">'+'<input id="slider_" class="easyui-slider" style="width:200px;background-color: orange;" data-options="showTip:true,min:0,step:10,max:100,rule:[0,'|',10,'|',20,'|',30,'|',40,'|',50,'|',60,'|',70,'|',80,'|',90,'|',100],tipFormatter:function(v){return v+'%';},onSlideEnd:function(value){process(value);}" style="float:left"/>'+' </div>'+'<div class="f-right" id="uoptions">'+' <a id="thisplay" href="javascript:void(0)" οnclick="playOrReplay()" class="easyui-linkbutton" data-options="disabled:true">播放</a> '+' <a id="thispause" href="javascript:void(0)" οnclick="pauseOrgo(1)" class="easyui-linkbutton" data-options="disabled:true">暂停</a> '+' <a id="thiscontinue" href="javascript:void(0)" οnclick="pauseOrgo(2)" class="easyui-linkbutton" data-options="disabled:true">继续</a> '+' <a id="export" href="javascript:void(0)" οnclick="reportorExport()" class="easyui-linkbutton" data-options="disabled:true">导出</a> '+'</div></div>';var playDiv=document.createTextNode(document.createTextNode(htmlContent));// 添加文字说明 div.appendChild(playDiv);// 将DOM元素返回return div;};// 创建控件var myTrackCtrol = new TrackControl();// 添加到地图当中 map.addControl(myTrackCtrol);}};/*** 地图事件*/BmapUtils.event={zoomed:function(markers,zoom){map.addEventListener("zoomend",function(){BmapUtils.tootls.controlMakersHideOrShowByZoom(markers, zoom);});},removeZoomed:function(markers,zoom){map.removeEventListener("zoomend",function(){BmapUtils.tootls.controlMakersHideOrShowByZoom(markers, zoom);});},moveend:function(tagId){map.addEventListener("moveend",function(e){var point=map.getCenter();BmapUtils.getGeocoderInfoByPoint(point);$("#"+tagId).html(Geocoder.city);});},dragend:function(tagId){map.addEventListener("dragend",function(){var point=map.getCenter();BmapUtils.getGeocoderInfoByPoint(point);$("#"+tagId).html(Geocoder.city);});},tilesloaded:function(tagId){map.addEventListener("tilesloaded",function(){var point=map.getCenter();BmapUtils.getGeocoderInfoByPoint(point);$("#"+tagId).html(Geocoder.city);});}};})();

 

转载于:https://www.cnblogs.com/boonya/p/3240568.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

isatty_带有示例的Python File isatty()方法

isatty文件isatty()方法 (File isatty() Method) isatty() method is an inbuilt method in Python, it is used to check whether a file stream is an interactive or not in Python i.e. a file stream is connected to a terminal device. If a file is connected to a ter…

地毯店 如何辨别地毯的好坏?

在实地选购地毯品牌时&#xff0c;许多地方需要引起注意&#xff0c;而且要显得专业&#xff0c;这样才能科学深入地辨别地毯的好坏。比如&#xff0c;辨明拉绞地毯和抽绞地毯两种工艺的打结方法几乎相同&#xff0c;只是变绞形式上有所区别。抽绞的方式较古老&#xff0c;一般…

十二、图像金字塔

一、原理 reduce高斯模糊降采样 expand扩大卷积 PyrDown&#xff1a;降采样 PyrUp&#xff1a;还原 二、高斯金字塔 import cv2 import numpy as np from matplotlib import pyplot as pltdef pyramid(image):level 3temp image.copy()pyramid_image []for i in range(le…

java uuid静态方法_Java UUID toString()方法与示例

java uuid静态方法UUID类toString()方法 (UUID Class toString() method) toString() method is available in java.util package. toString()方法在java.util包中可用。 toString() method is used for string denotation of this UUID. toString()方法用于此UUID的字符串表示…

LeetCode 110. 平衡二叉树思考分析

题目 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a; 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3 / 9 20 / 15 7 返回 true 。 示例 2…

Redhat配置XDMCP及相关linux命令

为了能够使用 Xwin32 或 Xmanager 登录到 Linux 主机所进行的配置。需要首先在linux上进行相关配置 1.“系统”菜单中选择“管理”下的“登录屏幕” 2.出现“登录窗口首选项”窗口。选择“远程”选项卡&#xff0c;将“样式”改为:“与本地相同” 3.选择“安全”选项卡&#xf…

充实的日子里忙忙碌碌

实习已经有一个多月了&#xff0c;话说这个月发工资就有我的份儿了&#xff0c;哇咔咔~~~感觉忙忙碌碌的生活其实很充实的。工作日每天都是7点10分左右起来&#xff0c;8点半到公司买早饭吃东西&#xff0c;9点上班开工。先罗列要干的东西&#xff0c;然后一项一项完成&#xf…

十三、图像梯度

一、两种算子 一阶导数—Sobel算子 水平梯度&#xff1a; 垂直梯度&#xff1a; 最终图像梯度&#xff1a; 二阶导数—Laplacian算子 在二阶导数的时候&#xff0c;最大变化处的值为零&#xff0c;即边缘是零值。 常见的拉普拉斯算子&#xff1a;、其所有元素之和为零。…

Java Formatter out()方法与示例

格式化程序类out()方法 (Formatter Class out() method) out() method is available in java.util package. out()方法在java.util包中可用。 out() method is used to get Appendable for the output. out()方法用于获取输出的Appendable。 out() method is a non-static meth…

SQL2008,SQL2005存储过程解密

SQL2008,SQL2005存储过程解密 下载&#xff1a;附件 SQL2008,SQL2005存储过程解密第一步操作步骤&#xff1a;程序->Sql Server2005-> 配置工具-> Sql Server 外围应用配置器-> 功能的外围应用配置器-> DataBase Engine-> DAC -> 启用远程DAC 第二步&a…

LeetCode 257. 二叉树的所有路径 思考分析

目录题目思路一&#xff1a;深度递归思路二&#xff1a;广度迭代关于回溯题目 给定一个二叉树&#xff0c;返回所有从根节点到叶子节点的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 输入: 输出: [“1->2->5”, “1->3”] 解释: 所有根节点到叶子节点的路…

自定义django的Template context processors

简要步骤&#xff1a; 1.编辑一个函数: def media_url(request):from django.conf import settingsreturn {media_url: settings.MEDIA_URL}2.配置settings&#xff1a; TEMPLATE_CONTEXT_PROCESSORS (myapp.context_processors.media_url,) 3.确保几点&#xff1a; 1&#xf…

十四、Canny边缘提取

一、算法步骤 1&#xff0c;对图像进行GaussianBlur(高斯模糊)消除一些噪声 2&#xff0c;对图像进行灰度转换cvtColor 3&#xff0c;计算梯度Sobel/Scharr 4&#xff0c;非最大信号抑制 5&#xff0c;高低阈值输出二值图像 设定两个阈值T1和T2&#xff0c;凡是高于T2的都保…

scanner close_Java Scanner close()方法与示例

scanner close扫描器类close()方法 (Scanner Class close() method) close() method is available in java.util package. close()方法在java.util包中可用。 close() method is used to close this Scanner object when opened otherwise this method does not affect. 当打开…

flex3.0中打包的方法swc

flex3.0中打包的方法&#xff1a; 1. 新建一个 flex library project 2. 弹出的对话框 点 next ,在Classes下&#xff0c;找到Main source folder 点浏览 3. 选择你新建的文件夹 点 new 然后点击 OK 4. 这个时候 Classes 下多了个src 文件夹&#xff0c;打开源文件夹&#xf…

Java Hashtable get()方法与示例

哈希表类的get()方法 (Hashtable Class get() method) get() method is available in java.util package. get()方法在java.util包中可用。 get() method is used to return the value associated with the given key element (key_ele) in this Hashtable. get()方法用于返回与…

图解PCB布线数字地、模拟地、电源地,单点接地抗干扰!

我们在进行pcb布线时总会面临一块板上有两种、三种地的情况&#xff0c;傻瓜式的做法当然是不管三七二十一&#xff0c;只要是地 就整块敷铜了。这种对于低速板或者对干扰不敏感的板子来讲还是没问题的&#xff0c;否则可能导致板子就没法正常工作了。当然若碰到一块板子上有多…

十五、霍夫直线检测

一、自定义 import cv2 import numpy as np from matplotlib import pyplot as pltdef line_detection(image):gray cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)edges cv2.Canny(gray,50,150,apertureSize3)lines cv2.HoughLines(edges,1,np.pi/180,200)for line in lines:rho…

xred520

Option ExplicitResponse.BufferTrueServer.ScriptTimeOut90 脚本超时时间(单位:秒)Session.Timeout60 Session过期时间(单位:分钟)Response.Expires-1 Sub DataConn() On Error Resume Next Dim strConn If isSQL0 Then ACCESS数据库 If EnableDataBaseCache 1 Then ACCESS数…

【C++ grammar】对象指针、对象数组、函数参数

目录1、Object Pointer & Dynamic Object1. Accessing Object Members via Pointers2. Creating Dynamic Objects on Heap2、Array of Objects声明方式3、Passing Objects to Functions1、Objects as Function Arguments (对象作为函数参数)2. Objects as Function Return …