/**
* 百度地图使用工具类-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
*/
(function() { var map = {};
window.map={};
window.BmapUtils={};
window.infoWindow={};
window.BmapUtils.lineFreature={};
window.LocalSearch={};
/**
* 百度地图基础操作
*/
BmapUtils = {
/**
* 全局变量
*/
CONSTANT : {
CONTAINER : "map",
DEFAULT_ZOOM : 12,
SEARCH_PANEL:"r-result",
LINE_MAKERS_SHOW:false
},
/**
* 获取地图视图范围坐标
* @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);
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
});
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
}); // 设置卫星图为底图
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 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 );
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.setTitle(sepoint.start);
endMarker.setTitle(sepoint.end);
if(len>=2){
var d=(len/2)+"";
d=parseInt(d);
map.centerAndZoom(points[d],12);
}
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
});
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();
},
/**
* 控制缩放层级显示图标显示或隐藏
* @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.Control
TrackControl.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)" onclick="playOrReplay()" class="easyui-linkbutton" data-options="disabled:true">播放</a> '+
' <a id="thispause" href="javascript:void(0)" onclick="pauseOrgo(1)" class="easyui-linkbutton" data-options="disabled:true">暂停</a> '+
' <a id="thiscontinue" href="javascript:void(0)" onclick="pauseOrgo(2)" class="easyui-linkbutton" data-options="disabled:true">继续</a> '+
' <a id="export" href="javascript:void(0)" onclick="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);
});
}
}; })();

 注:添加百度地图v1.5

<script src="http://api.map.baidu.com/api?v=1.5&ak=${ak }"></script>
<script type="text/javascript"  src="${ctx}/res/js/baidumap/bmap.util.js"></script>

ak:即百度地图凭证key,需要自己申请

百度地图LV1.5实践项目开发工具类bmap.util.jsV1.0的更多相关文章

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

    /** * 百度地图使用工具类-v1.5 * * @author boonya * @date 2013-7-7 * @address Chengdu,Sichuan,China * @email b ...

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

    /** * 百度地图使用工具类-v1.5 * * @author boonya * @date 2013-7-7 * @address Chengdu,Sichuan,China * @email b ...

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

    /** * 百度地图使用工具类-v1.5 * * @author boonya * @date 2013-7-7 * @address Chengdu,Sichuan,China * @email b ...

  4. 百度地图V2.0实践项目开发工具类bmap.util.js V1.4

    /** * 百度地图使用工具类-v2.0(大眾版) * * @author boonya * @date 2013-7-7 * @address Chengdu,Sichuan,China * @em ...

  5. Android 实践项目开发 总结

      Android 实践项目开发 总结 课程:移动平台应用开发实践  班级:201592  姓名:杨凤  学号:20159213 成绩:___________       指导老师:娄嘉鹏       ...

  6. 百度地图API:利用瓦片生成工具,自定义背景图片

    参考酸奶小妹的博文<[百度地图API]如何制作一张魔兽地图!!——CS地图也可以,哈哈哈> (http://www.cnblogs.com/milkmap/archive/2011/05/ ...

  7. Java,面试题,简历,Linux,大数据,常用开发工具类,API文档,电子书,各种思维导图资源,百度网盘资源,BBS论坛系统 ERP管理系统 OA办公自动化管理系统 车辆管理系统 各种后台管理系统

    Java,面试题,简历,Linux,大数据,常用开发工具类,API文档,电子书,各种思维导图资源,百度网盘资源BBS论坛系统 ERP管理系统 OA办公自动化管理系统 车辆管理系统 家庭理财系统 各种后 ...

  8. Vue.之.项目开发工具选用

    Vue.之.项目开发工具选用 上篇文章记录了创建项目,这篇文件记录,如何对创建的项目进行开发.这里选择一个工具:Visual Studio Code (请自行下载安装) 1. 打开VSCode工具,并 ...

  9. (转载)实例详解Android快速开发工具类总结

    实例详解Android快速开发工具类总结 作者:LiJinlun 字体:[增加 减小] 类型:转载 时间:2016-01-24我要评论 这篇文章主要介绍了实例详解Android快速开发工具类总结的相关 ...

随机推荐

  1. LCS算法思想

    LCS问题就是求两个字符串最长公共子串的问题.解法就是用一个矩阵来记录两个字符串中所有位置的两个字符之间的匹配情况,若是匹配则为1,否则为0.然后求出对角线最长的1序列,其对应的位置就是最长匹配子串的 ...

  2. Lowest Common Ancestor of a Binary Search Tree 解答

    Question Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes ...

  3. yumdebug

  4. <转载>构造函数与拷贝构造函数

    原文地址http://www.cnblogs.com/waynelu/archive/2012/07/01/2572264.html 构造函数 构造函数.析构函数与赋值函数是每个类最基本的函数. 对于 ...

  5. WEB程序会话管理--HttpSession和Cookie

    WEB应用的会话管理的原理: 由于WEB应用的请求和响应是基于HTTP的,而HTTP由属于无状态的通信协议,只能记录本次请求的信息,因此服务器不会记住这一次的请求和下一次请求的关系.所以会话管理的原理 ...

  6. vim 快捷键大全

    一.移动光标 1.左移h.右移l.下移j.上移k 2.向下翻页ctrl + f,向上翻页ctrl + b 3.向下翻半页ctrl + d,向上翻半页ctrl + u 4.移动到行尾$,移动到行首0(数 ...

  7. struts2必需jar包

    asm-3.3.jar                   commons-logging-1.1.3.jarasm-commons-3.3.jar           freemarker-2.3. ...

  8. android——仿网易今日头条等自定义频道listview 或者grideview等item上移到另一个view中

    转载请注明出处: www.cnblogs.com/shoneworn 我这里只是简单的用了两个listview来实现的,先上效果图.比较粗糙.预留了自定义的空间. 思路: 从上图应该可以看的出来.就是 ...

  9. class创建单击事件

    $(function () {            $(".search-button").click(function () {                $(" ...

  10. [转] SQL Server游标的使用

    游标是邪恶的!        在关系数据库中,我们对于查询的思考是面向集合的.而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服.        ...