1、百度地图说明文档1.界面展示界面整体分为 4 部分,主地图显示区、鼠标测距地图区、按钮与输入区、结果面板区。主地图显示区用于除测距以外的功能显示,鼠标测距地图区只用于鼠标测距,结果面板区显示部分查询结果。功能实现包括基本操作功能:鼠标滚轮放大、缩小、全图、拖拽平移、卫星地图切换、鼠标测距,其他功能有(1) 定位查询(输入经纬度坐标在图上查询具体位置)(2) 经纬度坐标获取(鼠标点击获取图上经纬度坐标)(3) 快速查询(不同行政区级别点击查询缩放到当前位置,通过城市定位和关键字提示实现)(4) 关键词查询(输入查询内容将查询结果显示到控制面板和图上)(5) 覆盖物叠加(点击按钮将覆盖物添加到图上
2、)(6) 删除覆盖物(点击按钮删除覆盖物,包括关键字查询、路线查询在图上显示的覆盖物,用于清除查询结果,便于二次查询)(7) 信息窗口(点击图上点覆盖物弹出信息窗口)(8) 地址解析/逆解析、添加点线面(直接选用工具条上按钮进行绘制)(9) 编辑功能(点击按钮开启/关闭编辑)(10) 获取绘制的覆盖物个数,清除所有覆盖物(11) 步行路线规划(包括地图上显示和结果面板显示)(12) 驾车路线规划(信息窗口显示驾车所需时间和行驶距离,地图和结果面板显示路线)(13) 公交车和地铁路线查询(输入公交车或地铁号,在结果面板显示经过的站点及发车信息)(14) 公交车出行路线规划(地图上显示路线)(15
3、) 输入时关键字提示(16) 右下角打开路况提示以下为部分功能实现效果截图1关键字查询(结果显示在地图上)关键字查询结果显示在结果面板步行路线规划2驾车路线规划公交车和地铁路线站点查询,结果显示在查询面板公交路线规划32.框架界面先分成左右两部分,container1、container2 分别占 70%和 30%,左侧上部为主地图allmap 占 70%,下部按钮输入区 container3 占 30%,右侧鼠标测距区 allmap1 占 30%,结果面板 r-result 占 70%。#container1width:70%;height:100%;float:left;overflow:
4、 hidden;margin:0;#container2width:30%;height:100%;float:left;overflow: hidden;margin:0;#container3width:100%;height:30%;float:left;overflow: hidden;margin:0;#allmapmargin:0 0 3px;height:70%; /主地图#allmap1margin:0 0 3px;height:30%; /鼠标测距地图#r-resultmargin:0 0 3px;height:70%;3.关于未实现的功能点击折线、多边形显示信息窗口,点(m
5、arker 类)覆盖物有打开/ 关闭信息窗方法openInfoWindow(infoWnd: InfoWindow)/closeInfoWindow(),但是折线和多边形(Polyline类和 Polygon 类)覆盖物没有信息窗相关方法,但是有返回折线的点数组的方法 getPath()返回值为 Array,然而实施过程中,无法获取到点数组,因此无法继续进行。获取点线面的坐标以及编辑后的坐标到文本框中,如果上述获取点数组可以实现则可以根据百度地图 API 中的示例 DEMO 将提示窗的信息存储到文本框。附代码:4body, htmlwidth: 100%;height: 100%;margin
6、:0;font-family:“微软雅黑“;#container1width:70%;height:100%;float:left;overflow: hidden;margin:0;#container2width:30%;height:100%;float:left;overflow: hidden;margin:0;#container3width:100%;height:30%;float:left;overflow: hidden;margin:0;#allmapmargin:0 0 3px;height:70%;#allmap1margin:0 0 3px;height:30%;#
7、r-resultmargin:0 0 3px;height:70%;dl,dt,dd,ul,limargin:0;padding:0;list-style:none;pfont-size:12px;dtfont-size:14px;font-family:“微软雅黑“;font-weight:bold;border-bottom:1px dotted #000;padding:5px 0 5px 5px;margin:5px 0;ddpadding:5px 0 0 5px;liline-height:28px;贾明瑞百度地图 经度: 纬度: 城市名: 6输入公交地铁编号 最少时间最少换乘最少步
8、行不乘地铁请输入 :关键字提示/ 百度地图 API 功能var map = new BMap.Map(map);var point = new BMap.Point(116.404, 39.915);map.centerAndZoom(point, 10); 7map.enableScrollWheelZoom(true);map.enableInertialDragging(true);/绘制覆盖物获取数量及清除覆盖物var overlays = ;var overlaycomplete = function(e)overlays.push(e.overlay);var styleOptio
9、ns = strokeColor:“red“, /边线颜色。fillColor:“red“, /填充颜色。当参数为空时,圆形将没有填充效果。strokeWeight: 3, /边线的宽度,以像素为单位。strokeOpacity: 0.8, /边线透明度,取值范围 0 - 1。fillOpacity: 0.6, /填充的透明度,取值范围 0 - 1。strokeStyle: solid /边线的样式,solid 或 dashed。/实例化鼠标绘制工具var drawingManager = new BMapLib.DrawingManager(map, isOpen: false, /是否开启
10、绘制模式enableDrawingTool: true, /是否显示工具栏drawingToolOptions: anchor: BMAP_ANCHOR_TOP_RIGHT, /位置offset: new BMap.Size(5, 5), /偏离值,circleOptions: styleOptions, /圆的样式polylineOptions: styleOptions, /线的样式polygonOptions: styleOptions, /多边形的样式rectangleOptions: styleOptions /矩形的样式); /添加鼠标绘制工具监听事件,用于获取绘制结果drawin
11、gManager.addEventListener(overlaycomplete, overlaycomplete);function clearAll() for(var i = 0; i -1) value = _value.province + _value.city + _value.district + _value.street + _value.business; str = “FromItemindex = “ + e.fromitem.index + “value = “ + value;value = “;if (e.toitem.index -1) _value = e
12、.toitem.value;value = _value.province + _value.city + _value.district + _value.street + _value.business; str += “ToItemindex = “ + e.toitem.index + “value = “ + value;G(“searchResultPanel“).innerHTML = str;);var myValue;ac.addEventListener(“onconfirm“, function(e) /鼠标点击下拉列表后的事件var _value = e.item.va
13、lue;myValue = _value.province + _value.city + _value.district + _value.street + _value.business;G(“searchResultPanel“).innerHTML =“onconfirmindex = “ + e.item.index + “myValue = “ + myValue;setPlace(););function setPlace()map.clearOverlays(); /清除地图上所有覆盖物16function myFun()var pp = local.getResults().getPoi(0).point; /获取第一个智能搜索的结果map.centerAndZoom(pp, 18);map.addOverlay(new BMap.Marker(pp); /添加标注var local = new BMap.LocalSearch(map, /智能搜索onSearchComplete: myFun);local.search(myValue);