google map api之设置起点终点进行导航并显示路线详细信息

//設置起點
function setstart(){

	var newcenter = myMap.getCenter();

	if(!startpoint){

	startpoint = new google.maps.Marker({

		map:myMap,

		position:newcenter,

		draggable: true

	});}

}


//設置終點
function setend(){

	var newcenter = myMap.getCenter();

	if(!endpoint){

	endpoint = new google.maps.Marker({

		map:myMap,

		position:newcenter,

		draggable: true

	});}

}

//路線導航
function start2end(model){
	
	directionsDisplay = new google.maps.DirectionsRenderer();

	directionsDisplay.setMap(myMap);
	var startlatlng=startpoint.getPosition();
	var endlatlng=endpoint.getPosition();
	$("#jczbresult").show("slow");
	$("#jczbresultmin").hide();
	var geocoder = new google.maps.Geocoder();
	geocoder.geocode({'latLng': startlatlng}, function(results, status) {
	      if (status == google.maps.GeocoderStatus.OK) {
	        if (results[1]) {
	        	$("#startdrive").html('起點:'+results[1].formatted_address);
	        }}}); 
	geocoder.geocode({'latLng': endlatlng}, function(results, status) {
	      if (status == google.maps.GeocoderStatus.OK) {
	        if (results[1]) {
	        	
	        	$("#enddrive").html('終點:'+results[1].formatted_address);
	        }}}); 
	
	if(model=='WALKING'){
		$("#jczbtitle").innerHTML="步行查詢結果";
		directionsService.route({

			origin: startlatlng,

			destination: endlatlng,

			travelMode: google.maps.DirectionsTravelMode.WALKING

			}, function(result, status){

				if(status == google.maps.DirectionsStatus.OK){

					 directionsDisplay.setDirections(result);//標記地圖顯示路線
					 showSteps(result);//右側面板顯示詳細路線信息

					}

				});

		}else{
			$("#jczbtitle").innerHTML="駕車查詢結果";
			directionsService.route({

				origin: startlatlng,

				destination: endlatlng,

				travelMode: google.maps.DirectionsTravelMode.DRIVING

				}, function(result, status){

					if(status == google.maps.DirectionsStatus.OK){

						 directionsDisplay.setDirections(result);
						 showSteps(result);//右側面板顯示詳細路線信息

						}

					});

			}

	

}
//顯示起點終點之間的詳細信息
function showSteps(directionResult) {
	$("#driveline").html('');
    var myRoute = directionResult.routes[0].legs[0];
    var v_html = '';
    for (var i = 0; i < myRoute.steps.length; i++) {
    	var geocoder = new google.maps.Geocoder();
    	v_html += '<div class="carSearchtr02" id="driver_step_'+i+'">'+(i+1)+'.'+myRoute.steps[i].instructions+',此段路程為:'+myRoute.steps[i].distance.value+'米</div>';
    	//myRoute.steps[i].instructions;
    }
    if(v_html != '')
  	{
    	 v_html = '<div class="carSearchtr01">总里程:'+myRoute.distance.value+'米</div>'+v_html;
    	 $("#driveline").html(v_html);
  	}
  	else
  	{
			$("#driveline").html('很抱歉,沒有找到符合您要的條件,您可以試試下面的方法:<br>調整一下您輸入的搜索關鍵字');
  	}
   
  }
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值