工具 API

来源:互联网 发布:php 定义json数组 编辑:程序博客网 时间:2024/06/04 12:52

地图工具概述

提示:工具已经制作成开源库(lib)对外免费开放,可直接访问 JavaScript 开源库。若您需要运行以下示例代码,请先确认已在开发工程中引入lib文件,具体引用方法可查看 JavaScript 开源库提供的示例源文件。注意,开源库必须与百度地图JS API同时使用。

百度地图提供了交互功能更为复杂的“工具”,它包括:

MarkerTool:标注工具。通过此工具用户可在地图任意区域添加标注。

MarkerClusterer:多标注聚合器。此工具解决加载大量点要素到地图上造成缓慢,且产生覆盖现象的问题。

MarkerManager:标注管理工具。此工具提供展示、隐藏、清除所有标注。

RichMarker:富标注工具。此工具为用户提供自定义Marker样式,并添加点击、双击、拖拽等事件。

DistanceTool:测距工具。通过此工具用户可测量地图上任意位置之间的距离。

RectangleZoom:区域缩放工具。此工具将根据用户拖拽绘制的矩形区域大小对地图进行放大或缩小操作。

MapWrapper:地图搬家工具。此工具提供了将Google或GPS坐标形式的Marker添加到百度地图上的功能。

InfoBox:自定义信息窗口工具。类似于infoWindow,比infoWindow更有灵活性,比如可以定制border,关闭按钮样式等。

LuShu:路书,轨迹运动工具。此工具用以实现marker沿路线运动,并有暂停等功能。

AreaRestriction:区域限制工具。此工具为用户提供百度地图浏览区域限制设置。

GeoUtils:几何运算工具。此工具提供判断点与矩形、 圆形、多边形线、多边形面的关系,并提供计算折线长度和多边形的面积的公式。

TrafficControl:实时交通控件。此工具提供将交通流量图层在地图上的实时显示,隐藏等。

SearchControl:检索控件。此工具针对移动端,提供城市列表选择、本地检索框、公交驾车查询框。并提供相应功能。

DrawingManager:鼠标绘制工具。通过此工具用户可以在地图任意位置上画点、画线、画面并显示线的距离及面的面积。

EventWrapper:事件封装工具。该工具提供了更人性化的事件使用方法。

TextIconOverlay:自定义覆盖物工具。用户可以使用该工具在地图上添加文字和图标样式的覆盖物。

SearchInRectangle:拉框缩放工具,用于实现三种拉框搜索效果。

SearchInfoWindow:“百度地图样式”的信息窗口工具。该工具为用户提供带搜索框的信息窗口,该窗口内容可自由定制多种风格。

工具类在初始化时需要提供地图实例参数,以便使工具在该地图上生效。您可以在地图上添加多个工具,但同一时刻只能有一个工具处于开启状态。标注工具和测距工具在完成一次操作后将自动退出开启状态,而区域缩放工具可以自行配置是否自动关闭。

坐标说明

百度地图JavaScript API的输入和输出坐标目前均为百度BD09坐标,如果您使用的是WGS84坐标或GCJ02坐标,需先使用坐标转换接口进行坐标转换。

相应的接口和转换方法请参考坐标转换说明请勿使用非官方的转换方法。

向地图添加工具

在地图正确初始化后,您可以创建工具实例。下面示例展示了如何向地图添加一个标注工具。

var map = new BMap.Map("container");    map.centerAndZoom(new BMap.Point(116.404, 39.915), 15);    var myPushpin = new BMap.PushpinTool(map);         // 创建标注工具实例    这个东西现在不能用,直接报错,不是构造函数myPushpin.addEventListener("markend", function(e){  // 监听事件,提示标注点坐标信息    alert("您标注的位置:" +            e.marker.getPoint().lng + ", " +            e.marker.getPoint().lat);    });    myPushpin.open();                                  // 开启标注工具

通过按钮控制工具的开启和关闭

工具类没有提供控制其开启和关闭的UI元素。您可以根据需要自己创建这些元素,把它们放置在地图区域内或者区域外均可。调用工具类的open和close可控制工具的开启和关闭。

首先初始化地图并创建一个测距工具实例:

var map = new BMap.Map("container");    map.centerAndZoom(new BMap.Point(116.404, 39.915), 15);    var myDis = new BMapLib.DistanceTool(map);

接着我们创建两个按钮元素并为其添加点击事件。

  1. <input type="button" value="开启" onclick="myDis.open()" />    
  2. <input type="button" value="关闭" onclick="myDis.close()" />

拉框放大工具

一些工具类提供了可修改的配置参数,您可参考API文档来修改它们以便符合您的要求。

本示例为区域缩放工具添加提示文字。

var map = new BMap.Map("container");    map.centerAndZoom(new BMap.Point(116.404, 39.915), 15);    var myDrag = new BMapLib.DragAndZoomTool(map, {     followText : "拖拽鼠标进行操作"    });
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 微信重新登录后东西全没了怎么办 宝宝吃鸡蛋过敏全身起红疹怎么办 180在产蛋鸡因断鸡减产怎么办 住友39熔接机熔接损耗大怎么办 支付宝实名认证刷脸失败怎么办 支付宝注册刷脸不是本人怎么办 小学科学只考88分中学怎么办 收银机关机时才上传数据是怎么办 刚做的系统玩cf卡屏怎么办 办健康证的资料掉了怎么办 刚刚办得的健康证掉了怎么办 房子都过户了银行贷不了款怎么办 我要办大病迁出应该怎么办啊? 遗产继承后户口没地迁出怎么办 安徽蒙城怎么办去韩国的签证的 夜间有人私自收停车费应该怎么办 上次摸不到环尾丝这次摸到了怎么办 法院判决书下来后对方不给钱怎么办 法院判决书下来了钱还保全么怎么办 深圳路边泊车不知道泊车编号怎么办 当事人进拘留所了我的工资怎么办 昆明公租房住满5年后怎么办 昆明公租房房子到期缴纳金怎么办 看守所犯人银行卡里钱没用完怎么办 中国邮政迟迟没有把信件寄到怎么办 拘留15天放出来还不肯还钱怎么办 人死在拘留所不让看监控怎么办 家人吸毒可他又不愿强戒怎么办 容留他人吸毒时签了强戒怎么办 拘留后发现被拘留是人大代表怎么办 执行局要拘留人找不到人怎么办 开设赌场罪拘留37天了该怎么办 对治安处罚光罚款不拘留怎么办 打架和解后警察不给消案怎么办 12个人片诈骗刑拘了28天怎么办 交警拘留几天后还是没钱赔偿怎么办 平安车主信用卡车牌号填错了怎么办 起诉借钱的人逮起来了怎么办 在法院查不到坐牢人的档案怎么办 人被冤枉敲诈勒索进看守所了怎么办 打架被拘留孩子怎么办三周了