利用baidu js api 做自驾路线

1. 参考demo,代码如下,接口注释
<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
		<title>驾车途经点</title>
		<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script>

	</head>
	<body>
		<br />
		<p><input type='button' value='开始' οnclick='run();' /></p>

		<br />
		<input id="text1">
		<br />
		<input id="text2">
		<br />
		<div style="width:1500px;height:1000px;border:1px solid gray" id="container"></div>
		<script type="text/javascript">
		var map = new BMap.Map("container");
		map.centerAndZoom(new BMap.Point(115.501471,37.11128), 15); //15是地图级别,如洲,国,省,地区等,1--19
		map.enableScrollWheelZoom();                  // 启用滚轮放大缩小。
		map.enableKeyboard();                         // 启用键盘操作。
		map.addControl(new BMap.NavigationControl());               // 添加平移缩放控件
		map.addControl(new BMap.ScaleControl());                    // 添加比例尺控件
		map.addControl(new BMap.OverviewMapControl());              //添加缩略地图控
	</script>
	<script type="text/javascript">
		
		function drawPoints(pointarray,count){
			for (var i=0; i<count; i++)
			{
				var j = i
				var lab = new BMap.Label("点"+j,{position:pointarray[j]});
				lab.setStyle({
					height:"12px",
					width:"12px",
					fontSize:"8px"});
					
				map.addOverlay(lab);
			}				
		}


function run(){
	map.clearOverlays();                        //清除地图上所有的覆盖物
	var driving = new BMap.DrivingRoute(map);    //创建驾车实例

	var myP1 = new BMap.Point(115.501471,37.11128);    //威县侯贯
	var myP2 = new BMap.Point(114.551623,36.994921);    //沙河北俎
 

	
	driving.search(myP1, myP2);                 //第一个驾车搜索

	driving.setSearchCompleteCallback(function(){
			var pts = driving.getResults().getPlan(0).getRoute(0).getPath();    
			document.getElementById("text1").value= pts.length;
			document.getElementById("text2").value = pts[0].lng + " : " + pts[0].lat; // lat
			console.dir(pts);  //firefox的浏览器通过console打印对象,很是好用!
			drawPoints(pts,100);
			
			var polyline = new BMap.Polyline(pts);     
			map.addOverlay(polyline);

			var m1 = new BMap.Marker(myP1);         //创建3个marker
			var m2 = new BMap.Marker(myP2);
		//	var m3 = new BMap.Marker(myP3);;

			map.addOverlay(m1);
			map.addOverlay(m2);
			//map.addOverlay(m3);
			map.setViewport([myP1,myP2]);   //调整到最佳视野

	});
}
</script>

<script type="text/javascript">

	{
		document.write("<h1>这是标题</h1>");
		document.write("<p>这是段落。</p>");

		document.write("<p>这是另一个段落。</p>");
	}
</script>

</body>
</html>

2. 效果图

 

 

 

放大效果:

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,可以使用百度地图的API来获取当前位置的经纬度,并通过逆地理编码获取省市信息。以下是一个基本的示例代码: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>获取当前位置省市信息</title> <script src="http://api.map.baidu.com/api?v=2.0&ak=你的百度地图API Key"></script> <script> // 获取当前位置信息 function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition); } else { alert("浏览器不支持Geolocation"); } } // 显示位置信息 function showPosition(position) { // 获取经纬度 var lng = position.coords.longitude; var lat = position.coords.latitude; // 创建地图实例 var map = new BMap.Map("allmap"); // 创建坐标点 var point = new BMap.Point(lng, lat); // 创建地理编码实例 var geoc = new BMap.Geocoder(); // 逆地理编码获取省市信息 geoc.getLocation(point, function(res){ var province = res.addressComponents.province; var city = res.addressComponents.city; alert("您当前所在的省份为:" + province + ",城市为:" + city); }); } </script> </head> <body> <h1>获取当前位置省市信息</h1> <button onclick="getLocation()">获取位置信息</button> <div id="allmap"></div> </body> </html> ``` 在这个示例中,我们使用了百度地图的JavaScript API,并通过`navigator.geolocation`获取了用户当前的经纬度信息,然后通过`BMap.Geocoder`逆地理编码获取了省市信息,并将其显示在一个弹出框中。 需要注意的是,你需要将代码中的`你的百度地图API Key`替换为你自己的百度地图API Key。另外,由于使用了百度地图的API,所以你需要保证你的设备能够正常访问百度地图的API接口。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值