<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>全插件</title>
<script type="text/javascript" src="http://api.map.baidu.com/getscript?v=2.0&ak=yzmcuroeXsnCGNAjnAtvUp9Xh8eXcrTm&services=&t=20180823194355"></script>
<script type="text/javascript" src="http://api.map.baidu.com/library/DistanceTool/1.2/src/DistanceTool_min.js"></script>
</head>
<body>
<div style="width:520px;height:340px;border:1px solid gray" id="container"></div>
<input type="button" value="开启测距" onclick="myDis.open();" />
<input type="button" value="关闭测距" onclick="myDis.close()" />
<div id="results" style="font-size:13px;margin-top:10px;"></div>
</body>
</html>
<script type="text/javascript">
//map.addControl(new BMap.NavigationControl()); // 添加平移缩放控件
//map.addControl(new BMap.MapTypeControl({anchor: BMAP_ANCHOR_TOP_LEFT}));//地图|卫星|三维 控件
//map.setCurrentCity("济南");
//百度map API http://dev.baidu.com/wiki/static/map/API/examples/?v=1.3&3_0#3&0
var map = new BMap.Map("container"); // 创建Map实例
var point = new BMap.Point(117.025, 36.666); // 创建点坐标
var myDis = new BMapLib.DistanceTool(map); //测距插件
map.centerAndZoom(point,13); // 初始化地图,设置中心点坐标和地图级别。
map.enableScrollWheelZoom(); // 启用滚轮放大缩小。
map.enableKeyboard(); // 启用键盘操作。
map.addControl(new BMap.ScaleControl()); // 添加比例尺控件
map.addControl(new BMap.OverviewMapControl()); //添加缩略地图控件
var opts = {type: BMAP_NAVIGATION_CONTROL_SMALL} // 添加平移缩放控件(个性化)
map.addControl(new BMap.NavigationControl(opts));// 添加平移缩放控件(个性化)
map.addControl(new BMap.MapTypeControl({mapTypes: [BMAP_NORMAL_MAP,BMAP_HYBRID_MAP]}));//地图|混合 控件
//=======================================
var contextMenu = new BMap.ContextMenu();//创建右键对象
var txtMenuItem = [
{ text:'折线测距',callback:function(){myDis.open()}},
{ text:'在此添加标注',
callback:function(p){
var marker = new BMap.Marker(p), px = map.pointToPixel(p);
map.addOverlay(marker);
}
}
];
for(var i=0; i < txtMenuItem.length; i++){
contextMenu.addItem(new BMap.MenuItem(txtMenuItem[i].text,txtMenuItem[i].callback,100));
if(i==1 || i==3) {
contextMenu.addSeparator();
}
}
map.addContextMenu(contextMenu);
//===================开始 结束 测距 start===================
var transit = new BMap.DrivingRoute(map, {
renderOptions: {map: map,panel: "results", autoViewport: true},
onMarkersSet: function(pois){
var start = pois[0].marker, end = pois[1].marker;
start.enableDragging();//开启起点拖拽功能
end.enableDragging();//开启终点拖拽功能
start.addEventListener("dragend",function(e){
map.clearOverlays();
transit.search(e.point,end.getPosition());
});
end.addEventListener("dragend",function(e){
map.clearOverlays();
transit.search(start.getPosition(),e.point);
});
}
});
transit.search("南京南站","南京站");
//===================开始 结束 测距 end ===================
//默认红色标注
//var marker = new BMap.Marker(new BMap.Point(116.987, 36.666)); // 创建标注
//map.addOverlay(marker); // 将标注添加到地图中 //var myPushpin = new BMap.PushpinTool(map); // 创建标注工具实例
//myPushpin.addEventListener("markend", function(e){ // 监听事件,提示标注点坐标信息
// alert("您标注的位置:"+e.marker.getPoint().lng+","+e.marker.getPoint().lat);//获取坐标
// alert("您标注的位置:"+e.point.lng+","+e.point.lat);//另一种获取坐标
//});
//myPushpin.open(); //var myP1 = new BMap.Point(117.025, 36.666); //起点
//var myP2 = new BMap.Point(117, 36.666); //终点 //var driving2 = new BMap.DrivingRoute(map, {renderOptions:{map: map, autoViewport: true}}); //驾车实例
//driving2.search(myP1, myP2); //显示一条公交线路
//创建小狐狸
//var pt = new BMap.Point(116.991, 36.666);
//var myIcon = new BMap.Icon("http://dev.baidu.com/wiki/static/map/API/img/fox.gif", new BMap.Size(300,157));
//var marker = new BMap.Marker(pt,{icon:myIcon}); // 创建标注
//map.addOverlay(marker); // 将标注添加到地图中 //让小狐狸说话(创建信息窗口)
//var infoWindow = new BMap.InfoWindow("<p style='font-size:14px;'>哈哈,你看见我啦!我可不常出现哦!</p>");
//marker.addEventListener("click", function(){this.openInfoWindow(infoWindow);});
//marker.enableDragging(true); // 设置标注可拖拽 </script>

效果

百度地图DEMO-路线导航,测距,标点的更多相关文章

  1. Android studio百度地图demo出现230错误,key校验失败

    转自daoxiaomianzi原文 Android studio 百度地图demo出现230错误,key校验失败 使用AndroidStudio导入Baidu地图的as版的demo,引入后,发现没有k ...

  2. 将百度地图Demo抽取出来安到自己的程序中

    今日所学: 使用百度地图ADK实现手机定位 [Android]使用百度.高德.腾讯地图SDK获取定位数据与屏幕截图分享到QQ_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili 代码获取SHA1 (2 ...

  3. Android 百度地图API 定位 导航

    看看这个利用百度地图定位并实现目的地导航的Demo. 首先看实现效果:                          进 入后首先会得到当前位置,在地图上显示出来.在输入框中输入目的地后,就会在地 ...

  4. Android学习笔记之使用百度地图实现路线规划+公交信息检索

    PS:装了个deepin,感觉真的很高大上. 学习内容: 1.公交信息检索 2.路线规划   关于百度地图的开发也就这么多了.重要的部分也就那么些.原本打算搞到poi搜索就算了,不过看到了这两个方面还 ...

  5. 百度地图 - demo

    项目需要集成百度地图,那么关于如何集成百度地图的事,就自己去百度开放平台查看文档吧,这是非常简单的事,在这里就不多说了. 那么下面我就说说我在这个demo里所做的事. 首先,项目需要具备定位及计算两地 ...

  6. H5微信通过百度地图API实现导航方式一

    根据业务需求修改百度API,实现微信中的导航功能.因为源码中SearchInfoWindow_min.js有点小问题(部分小城市公交线路少,查不到路线时没有提示),所以这里在源码的基础上改了一点点.可 ...

  7. 使用百度地图开发一个导航定位demo-android学习之旅(77)

    首先介绍如何导入百度地图 步骤(其实官方文档写的很清楚了)http://developer.baidu.com/map/index.php?title=androidsdk/guide/introdu ...

  8. 【Android接百度地图API】百度地图Demo点击按钮闪退

    运行百度地图自带的BaiduMap_AndroidSDK_v4.1.0_Sample里面的BaiduMapsApiASDemo发现点击上面的按钮会闪退,控制台报的是xml的问题 查了一下,官方文档特别 ...

  9. H5微信通过百度地图API实现导航方式二

    要有服务器才行哦 <!DOCTYPE html><html><head>    <meta http-equiv="Content-Type&quo ...

  10. android 百度地图demo 随感

    最近项目组的老大要我对百度的android的sdk进行一段的预研,由于技术太菜,出了不少的错误,因此有一点感悟了. 嗨,这个错误浪费了我一天的时间的时候,我按照百度的技术文档一步步的来做,每部基本上都 ...

随机推荐

  1. google cache源码详解

    一.引子 缓存有很多种解决方案,常见的是: 1.存储在内存中 : 内存缓存顾名思义直接存储在JVM内存中,JVM宕机那么内存丢失,读写速度快,但受内存大小的限制,且有丢失数据风险. 2.存储在磁盘中: ...

  2. 【构造】UVa 11387 The 3-Regular Graph

    Description 输入n,构造一个n个点的无向图,使得每个点的度数都为3.不能有重边和自环,输出图或确定无解. Solution 如果n为奇数,奇数*3=奇数,度数为奇,必无解. 考虑我们怎么构 ...

  3. 【源码】otter工程结构

    最近在搞数据同步相关的内容,需要对otter的代码进行扩展,所以需要先熟悉一下otter的源码.首先我们整体来看下otter的工程结构.otter的工程结构比较复杂,需要花费一定的时间来理解各个部分的 ...

  4. BZOJ_4378_[POI2015]Logistyka_树状数组

    BZOJ_4378_[POI2015]Logistyka_树状数组 Description 维护一个长度为n的序列,一开始都是0,支持以下两种操作: 1.U k a 将序列中第k个数修改为a. 2.Z ...

  5. Dashboard二次开发简明教程

    Horizon简介 Horizon是OpenStack的一个子项目,用于提供一个Web前端控制台(称为Dashboard),以此来展示OpenStack的功能.通常情况下,我们都是从Horizon.D ...

  6. 终于将SAP系统完全配置通过了

    花了近10天的时间,每天晚上加班加点,终于将SAP S4 1610 IDES系统从零到有,从头到尾配置一遍.目前只启用了一家模拟公司,从基础数据的设置,到销售订单开立(含按单按库需求),跑MRP需求, ...

  7. 8天入门docker系列 —— 第四天 使用aspnetcore小案例熟悉端口映射和挂载目录

    到目前为止大家应该对镜像和容器有了一个大概认知,而且也用了docker进行了一个简单化的部署,但仔细一看问题还有很多,所以这篇我们继续完善. 一:如何让外网访问到容器内应用 我们知道容器内拥有自己的子 ...

  8. 【Teradata SQL】从中文数字字母混合字符串中只提取数字regexp_substr

    目标:从中文数字字母的字符串中只提取数字 sel regexp_substr('mint choc中文11国1','\d+')

  9. Error Code: 1044. Access denied for user 'root'@'%' to database

    mysql> SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user; +--------------+--------- ...

  10. 解决VS2019中.net core WPF 暂时无法使用 Designer 的临时方法

    目录 解决 VS2019 中.net core WPF 暂时无法使用 Designer 的临时方法 安装 vs 2019 professional/enterprise版本 在vs的设置里,勾选.NE ...