ææ¨çè¦æ±ä¸ä»
è¦è°ç¨ç¾åº¦å°å¾ï¼èä¸è¦å®ç°ç¾åº¦å°å¾å¯¼èªåè½ï¼é£å°±åªè½ä½¿ç¨ç¾åº¦å°å¾å¼æ¾å¹³å°çapiè°ç¨äºã
ç¾åº¦å°å¾JavaScript APIç®ä»ï¼
ç¾åº¦å°å¾JavaScript APIæ¯ä¸å¥ç±JavaScriptè¯è¨ç¼åçåºç¨ç¨åºæ¥å£ï¼å¯å¸®å©æ¨å¨ç½ç«ä¸æ建åè½ä¸°å¯ã交äºæ§å¼ºçå°å¾åºç¨ï¼æ¯æPC端å移å¨ç«¯åºäºæµè§å¨çå°å¾åºç¨å¼åï¼ä¸æ¯æHTML5ç¹æ§çå°å¾å¼åãç¾åº¦å°å¾JavaScript APIæ¯æHTTPåHTTPSï¼å
费对å¤å¼æ¾ï¼å¯ç´æ¥ä½¿ç¨ãæ¥å£ä½¿ç¨æ 次æ°éå¶ãå¨ä½¿ç¨åï¼æ¨éå
ç³è¯·å¯é¥ï¼akï¼æå¯ä½¿ç¨ãä»»ä½éè¥å©æ§åºç¨è¯·ç´æ¥ä½¿ç¨ï¼åä¸åºç¨è¯·åè使ç¨é¡»ç¥ã
å
·ä½æ¹æ³å¦ä¸ï¼
ä¸ãå建ç¾åº¦å°å¾å¼æ¾å¹³å°å¯é¥ï¼akï¼
1ãå»ç¾åº¦å°å¾å¼æ¾å¹³å°æ³¨åè´¦æ·ï¼æè
æè´¦æ·ç´æ¥ç»éç³è¯·å¯é¥ï¼akï¼ãæ·»å®ä»¥åç¹å»æ交ï¼å°±ä¼è·å¾ä¸ä¸ªç¾åº¦å°å¾å¯é¥ã
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/d31b0ef41bd5ad6e94cbd0918dcb39dbb6fd3c9e?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
2ãéæ©âæ§å¶å°â-âå建åºç¨âæç¸å
³è®¾ç½®å¡«å¥½ã
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/d833c895d143ad4b8f3df1bb8e025aafa40f06bd?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/377adab44aed2e73094431578b01a18b87d6fa18?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/f7246b600c33874474a085075d0fd9f9d72aa060?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
äºãç½ç«å
é¨ç½²ç¾åº¦å°å¾ã
1ãç¼åHTML页é¢çåºç¡ä»£ç
å¨è¿ä¸æ¥æ们å®æ头é¨æ件åå°å¾å®¹å¨æ ·å¼çç¼åï¼è®©å°å¾å®¹å¨å
满ç½é¡µã
<!DOCTYPE html> <html> <head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Baidu Map </title>
<style type="text/css">
html{height:100%}
body{height:100%;margin:0px;padding:0px}
#container{height:100%}
</style> </head> <body></body> </html>
2ãå¼å
¥ç¾åº¦å°å¾APIæ件
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=æ¨çå¯é¥"></script>
3ãåå§åå°å¾é»è¾
é¦å
å建å°å¾å®ä¾ï¼ä¹åç¨ä¸ä¸ªPointåæ ç¹å缩æ¾çº§å«æ¥åå§åå°å¾ã
var map = new BMap.Map("container"); // å建å°å¾å®ä¾ var point = new BMap.Point(116.404, 39.915); // å建ç¹åæ map.centerAndZoom(point, 15); // åå§åå°å¾ï¼è®¾ç½®ä¸å¿ç¹åæ åå°å¾çº§å«
4ãå¼å¯é¼ æ æ»è½®ç¼©æ¾
å°å¾çé¼ æ æ»è½®ç¼©æ¾é»è®¤æ¯å
³éçï¼éè¦é
ç½®å¼å¯ã
map.enableScrollWheelZoom(true); //å¼å¯é¼ æ æ»è½®ç¼©æ¾
ä¸ãç¾åº¦å°å¾GPS导èªè°ç¨
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软é
é»";}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=æ¨çå¯é¥"></script>
<title>å¤ä¸ªæ 注ç¹æ²¿æ线ç轨迹è¿å¨</title>
</head>
<body>
<div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
// ç¾åº¦å°å¾APIåè½
var map = new BMap.Map("allmap");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 15);
var bounds = null;
var linesPoints = null;
var spoi1 = new BMap.Point(116.380967,39.913285); // èµ·ç¹1
var spoi2 = new BMap.Point(116.380967,39.953285); // èµ·ç¹2
var epoi = new BMap.Point(116.424374,39.914668); // ç»ç¹
var myIcon = new BMap.Icon("http://lbsyun.baidu.com/jsdemo/img/Mario.png", new BMap.Size(32, 70), {imageOffset: new BMap.Size(0, 0)});
function initLine(){
bounds = new Array();
linesPoints = new Array();
map.clearOverlays(); // æ¸
空è¦çç©
var driving3 = new BMap.DrivingRoute(map,{onSearchComplete:drawLine}); // 驾车å®ä¾,并设置åè°
driving3.search(spoi1, epoi); // æç´¢ä¸æ¡çº¿è·¯
var driving4 = new BMap.DrivingRoute(map,{onSearchComplete:drawLine}); // 驾车å®ä¾,并设置åè°
driving4.search(spoi2, epoi); // æç´¢ä¸æ¡çº¿è·¯
}
function run(){
for(var m = 0;m < linesPoints.length; m++){
var pts = linesPoints[m];
var len = pts.length;
var carMk = new BMap.Marker(pts[0],{icon:myIcon});
map.addOverlay(carMk);
resetMkPoint(1,len,pts,carMk)
}
function resetMkPoint(i,len,pts,carMk){
carMk.setPosition(pts[i]);
if(i < len){
setTimeout(function(){
i++;
resetMkPoint(i,len,pts,carMk);
},100);
}
}
}
function drawLine(results){
var opacity = 0.45;
var planObj = results.getPlan(0);
var b = new Array();
var addMarkerFun = function(point,imgType,index,title){
var url;
var width;
var height
var myIcon;
// imgType:1çåºåï¼ä¸ºèµ·ç¹åç»ç¹çå¾ï¼2çåºå为车çå¾å½¢
if(imgType == 1){
url = "http://lbsyun.baidu.com/jsdemo/img/dest_markers.png";
width = 42;
height = 34;
myIcon = new BMap.Icon(url,new BMap.Size(width, height),{offset: new BMap.Size(14, 32),imageOffset: new BMap.Size(0, 0 - index * height)});
}else{
url = "http://lbsyun.baidu.com/jsdemo/img/trans_icons.png";
width = 22;
height = 25;
var d = 25;
var cha = 0;
var jia = 0
if(index == 2){
d = 21;
cha = 5;
jia = 1;
}
myIcon = new BMap.Icon(url,new BMap.Size(width, d),{offset: new BMap.Size(10, (11 + jia)),imageOffset: new BMap.Size(0, 0 - index * height - cha)});
}
var marker = new BMap.Marker(point, {icon: myIcon});
if(title != null && title != ""){
marker.setTitle(title);
}
// èµ·ç¹åç»ç¹æ¾å¨æä¸é¢
if(imgType == 1){
marker.setTop(true);
}
map.addOverlay(marker);
}
var addPoints = function(points){
for(var i = 0; i < points.length; i++){
bounds.push(points[i]);
b.push(points[i]);
}
}
// ç»å¶é©¾è½¦æ¥è¡çº¿è·¯
for (var i = 0; i < planObj.getNumRoutes(); i ++){
var route = planObj.getRoute(i);
if (route.getDistance(false) <= 0){continue;}
addPoints(route.getPath());
// 驾车线路
if(route.getRouteType() == BMAP_ROUTE_TYPE_DRIVING){
map.addOverlay(new BMap.Polyline(route.getPath(), {strokeColor: "#0030ff",strokeOpacity:opacity,strokeWeight:6,enableMassClear:true}));
}else{
// æ¥è¡çº¿è·¯æå¯è½ä¸º0
map.addOverlay(new BMap.Polyline(route.getPath(), {strokeColor: "#30a208",strokeOpacity:0.75,strokeWeight:4,enableMassClear:true}));
}
}
map.setViewport(bounds);
// ç»ç¹
addMarkerFun(results.getEnd().point,1,1);
// å¼å§ç¹
addMarkerFun(results.getStart().point,1,0);
linesPoints[linesPoints.length] = b;
}
initLine();
setTimeout(function(){
run();
},1500);
</script>