PHP Ionic Angularjs Phonegap AJAX Javascript CSS MySQL jQuery Forum

ขอคำแนะนำเกี่ยวกับการคำนวณระยะทาง Google api และใช้ความสูงของแต่ละจังหวัดมาคำนวณหน่อยครับ

ขอคำแนะนำเกี่ยวกับการคำนวณระยะทาง Google api และใช้ความสูงของแต่ละจังหวัดมาคำนวณหน่อยครับ

 คือผมต้องการให้โปรแกรมสามารถคำนวณความสูงของแต่ละจังหวัดที่เราเดินทางผ่านอ่ะครับโดยที่เอาความสูงทั้งหมดมารวมกันโดยมีโคดดังนี้ครับ

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<LINK rel="shortcut icon" href="http://localhost/projectI/world.ico">
	<!-- Romano studija, Svetainiu kurimas | http://www.roman.lt/ | Copyright (C) 2007. All rights reserved -->
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>ข้อมูลการเดินทาง</title>
	<link href="style.css" rel="stylesheet" type="text/css" />
<!--	<style type="text/css"> 
		body { 	background-image: url(bg.png) ; 
					background-attachment: fixed; 
					background-repeat: repeat; } 
	</style>-->
</head>
<body>
	<table style="display:show">
			<tr>
					<td>
							<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="1245" height="125">
									<param name="movie" value="banner_final.swf" />
									<param name="quality" value="high" />
									<embed src="banner_final.swf"
												quality="high"
												type="application/x-shockwave-flash"
												width="1245"
												height="125"
												pluginspage="http://www.macromedia.com/go/getflashplayer" />
							</object>
					</td>
			</tr>
	</table>
    
    <table class="table-content" align="center" border="2" cellpadding="0" cellspacing="0" style="width:1248px;" height="100%;">
	<tbody>
		<tr>
		  <td>
		  <?php

	//Make a MySQL Connection
	require("config.php");
	connect();

	//ตั้งค่าการแสดงภาษา
	mysql_query("SET NAMES UTF8");

	//เพิ่มข้อมูลลงในฐานข้อมูล
	$sql = "SELECT * FROM datetime";
	$result = mysql_query($sql);
	while($rs = mysql_fetch_array($result)){
	$start_date=$rs['start_date'];
	$exp_date=$rs['exp_date'];
	$timemax=$rs['timemax'];
	$timeh1=$rs['hour1'];
	$timem1=$rs['min1'];
	$timeh2=$rs['hour2'];
	$timem2=$rs['min2'];
	$day=$rs['day'];
	}
	
	$h = ($timemax/60);
	$hex = explode(".",$h);
	$hour = $hex[0];
	
	if ($timem1>$timem2){
	$min = ($timem1-$timem2);
	$min = (60-$min);
	}
	else if ($timem1<$timem2){
	$min = ($timem2-$timem1);
	}
	else if ($timem1==$timem2){
	$min = ($timem2-$timem1);
	}
	
	echo "<center>","<h2>","แสดงข้อมูลเส้นทางในการเดินทาง","</B>","</h2>","</center>";
	//echo "<h6>","<B>","วันที่ออกเดินทาง : ","</B>",$start_date,"&nbsp","<B>"," เวลา : ","</B>",$timeh1,".",$timem1," น.","<br>";
	//echo "<B>","วันที่เดินทางกลับ : ","</B>",$exp_date,"&nbsp","<B>"," เวลา : ","</B>",$timeh2,".",$timem2," น.","<br>";
	//echo "<B>","ระยะเวลาในการเดินทางท่องเที่ยว : ","</B>",$day," วัน "," คิดเป็นเวลา ",$hour," ชั่วโมง ",$min," นาที","<br>";
	//echo "<B>","สถานที่ท่องเที่ยวที่ท่านเลือกเดินทาง : ","</B>","</h6>";
	$sql = "SELECT * FROM vTime";
	$result = mysql_query($sql);
	while($rs = mysql_fetch_array($result)){
	$point=$rs['Point'];
	$pointarr[] = $point;
	$name=$rs['Name'];
	//echo $name,"&nbsp;","&nbsp;";
	}
	
	echo "<h4><B>","&nbsp; เส้นทางที่สามารถเดินทางได้","&nbsp;","&nbsp;","( โปรดเลือกเส้นทางในการเดินทาง 1 เส้นทาง )","</B>";
	echo "<br>";
	echo "<br>";
	$markerlist = count($pointarr);
	
	
	
	/*-----------เริ่มการคำนวณใน Progressive Routing Algorithm-----------*/
	$sql = "SELECT * FROM datetime";
	$result = mysql_query($sql);
	while($rs = mysql_fetch_array($result)){
	$timemax=$rs['timemax'];
	}

	$sql3 = "SELECT * FROM vtime";
	$result3 = mysql_query($sql3);
	while($rs3 = mysql_fetch_array($result3)){
	$point=$rs3['Point'];
	$hour=$rs3['Hour'];
	$min=$rs3['Min'];
	}

	//--เชคว่าเดินทางกี่จุด(รวมเดินทางกลับไปยังสถานที่แรกด้วย)เพื่อกำหนดค่าจำนวน group
	if($markerlist == 3){$group_chk = 2;}
	elseif($markerlist == 4){$group_chk = 6;}
	elseif($markerlist == 5){$group_chk = 12;}
	elseif($markerlist == 6){$group_chk = 20;}
	elseif($markerlist == 7){$group_chk = 30;}
	elseif($markerlist == 8){$group_chk = 42;}
	elseif($markerlist == 9){$group_chk = 56;}
	elseif($markerlist == 10){$group_chk = 72;}
	//--------------------------

	$i = 0;
	$l_old=0;
	$k=0;
	$p=array();
	$t=array();
	$d=array();
	$l=array();
	$c=0;

	//$timemax=42;//ไม่ได้ต่อเนต ลองใส่ค่าดูู
	for($g=0;$g<=$group_chk;$g++)
	{
		$sql_p = 'SELECT * FROM point WHERE point.group='.$g.' and point.size = '.$markerlist.' order by point.layer asc';		//คิวรี่รูปแบบเส้นทางที่เป็นไปได้ทั้งหมดตามจำนวนสถานที่ (markerlist)
		$result_p = mysql_query($sql_p);
		while($rs_p = mysql_fetch_array($result_p))
		{
			$point = $rs_p['ppoint'];
			$layer = $rs_p['layer'];
			$group = $rs_p['group'];
			$pointi = array();
			$pointi = explode("-", $point); 
			//$sumdist = 0;

			//-------fetch ค่า point ออกมาแต่ละรอบ-------
			if($layer>$l_old){
			for($x=0;$x<count($pointi);$x++)
			{
				//echo $pointi[$x]."-";
				$sql_time = 'SELECT * FROM gdistime where Point =''. $pointi[$x] . ''';
				$result_time = mysql_query($sql_time);
				while($rs_time = mysql_fetch_array($result_time))
				{
					$dist = $rs_time['Dis'];
					$sumdist += $dist;
					$time=($rs_time['Time']/60);
					$extime = explode(".",$time);
					$timemin = $extime[0];
					$sumtime += $timemin;
				}
				$breakpoint = explode(",", $pointi[$x]); 
				$sql_btime = 'SELECT * FROM vtime where Point ='. $breakpoint[1];
				$result_btime = mysql_query($sql_btime);
				while($rs_btime = mysql_fetch_array($result_btime))
				{
					$hour=$rs_btime['Hour'];
					$min=$rs_btime['Min'];
					$sumtime += ($hour+$min);
					//$sumdist += ();
				}
			}
	
			//-------เช็คว่าเข้าเงื่อนไขเวลาไม่เกินหรือไม่-------
			if($sumtime<=$timemax)//น้อยกว่า timemax
			{
				$k=0;
				$p[$k] = $point;
				$t[$k] = $sumtime/60;
				$d[$k] = $sumdist/1000;
				$l[$c] = $layer;
				$k++;
				$c++;
			}
			//--------------
			$sumtime=0;
			$sumdist=0;
			$l_old=$layer;
			}//if l_old>

			else if($layer==$l_old){
			for($x=0;$x<count($pointi);$x++)
			{
				//echo $pointi[$x]."-";
				$sql_time = 'SELECT * FROM gdistime where Point =''. $pointi[$x] . ''';
				$result_time = mysql_query($sql_time);
				while($rs_time = mysql_fetch_array($result_time))
				{
					$dist = $rs_time['Dis'];
					$sumdist += $dist;
					$time=($rs_time['Time']/60);
					$extime = explode(".",$time);
					$timemin = $extime[0];
					$sumtime += $timemin;
				}
				$breakpoint = explode(",", $pointi[$x]); 
				$sql_btime = 'SELECT * FROM vtime where Point ='. $breakpoint[1];
				$result_btime = mysql_query($sql_btime);
				while($rs_btime = mysql_fetch_array($result_btime))
				{
					$hour=$rs_btime['Hour'];
					$min=$rs_btime['Min'];
					$sumtime += ($hour+$min);
				}
			}
	
			//-------เช็คว่าเข้าเงื่อนไขเวลาไม่เกินหรือไม่-------
			if($sumtime<=$timemax)//น้อยกว่า timemax
			{
				$p[$k] = $point;
				$t[$k] = ($sumtime/60);
				$d[$k] = $sumdist/1000;
				$l[$c] = $layer;
				$k++;
				$c++;
			}
			//--------------
			$sumtime=0;
			$sumdist=0;
			}//if l_old=
		}//while
		$l_old=$layer;

		//---ดึงรูปแบบการเดินทาง(point)ที่สามารถเดินทางไปได้(เวลาไม่เกิน)มาแสดงและ insert ลง db
		$inSQL = "DELETE FROM tmp_plan ";
		$objQuery = mysql_query($inSQL);
		$res=$g; 
		if($markerlist == 3){$res+=1;}
		elseif($markerlist == 4){$res-=2;}
		elseif($markerlist == 5){$res-=7;}
		elseif($markerlist == 6){$res-=14;}
		elseif($markerlist == 7){$res-=23;}
		elseif($markerlist == 8){$res-=34;}
		elseif($markerlist == 9){$res-=47;}
		elseif($markerlist == 10){$res-=62;}
		//echo "<br>";
	
		echo "<form name='trip' method='POST' action = 'tripplan.php'>";
		for($e=0;$e<$k;$e++)
		{
			if($p[$e]=='' && $res == $markerlist){
			echo "ไม่สามารถเดินทางได้ในเวลาที่กำหนด";
			}//else{
			if($res == $markerlist ){
			//echo $p[$e]."<br>";
			//echo $t[$e]."<br>";
			//echo $d[$e]."<br>";
				$a = explode("-", $p[$e]);
				echo "&nbsp;<input type = 'radio' name='plan' value='".$p[$e]."'>";
				echo "<B>","&nbsp; เส้นทางที่สามารถเดินทางได้เส้นทางที่","</B>","&nbsp;<b>",($e+1),"</b>&nbsp;&nbsp;","ระยะทางรวมประมาณ ",round($d[$e], 2),"  กิโลเมตร ","  /  เวลาเดินทางรวมประมาณ ",round($t[$e], 2)," ชั่วโมง","<br>";
				for($i = 0; $i< $markerlist;$i++){
					//echo $a[$i]."<br>";
					$SQl = "SELECT * FROM gDisTime WHERE point = '".$a[$i]."'";
					$as = mysql_query($SQl);
					while($data = mysql_fetch_array($as))
					{
						$ftname = $data[FTName];
						//$namearr[] = $name;
						$dis = $data[Dis]/1000;
						$time = ($data[Time]/60)/60;
						//$disarr[] = $dis;
						echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src='transmit.png' width='30' height='30' />&nbsp;","<B>",$ftname,"</B>","   ระยะทางประมาณ : ",round($dis, 2),"  กิโลเมตร ","  /  เวลาเดินทางประมาณ : ",round($time, 2),"  ชั่วโมง ","<br>";
					}		
				}
				echo "<br>";

				$inSQL = "INSERT INTO tmp_plan ";
				$inSQL .="(tmp_point,tmp_sumtime,tmp_sumdist)";
				$inSQL .=" VALUES ";
				$inSQL .="('".$p[$e]."',".$t[$e].",".$d[$e].")";
				$objQuery = mysql_query($inSQL);
			}
			//}
		}
		$l_old=$layer;
	}//for 
	echo "<br>";
	echo "<center><B>","&nbsp; กดปุ่มเพื่อยืนยันเส้นทาง >>>","</B>","<input type='submit' value='ยืนยัน'></h4><center>";
	
	/*-----------จบการคำนวณ Progressive Routing Algorithm-----------*/
	
	$SQl = "SELECT * FROM tmp_plan";
	$as = mysql_query($SQl);
	while($data = mysql_fetch_array($as)){
		$aaa = $data[tmp_point];
		$aarr[] = $aaa;
		//echo $aaa;
	}		
	$tmp = count($aarr);
	//echo "<br>";
	//echo $tmp;
	//echo "<br>";
?>
          </td>
	    </tr>		
	  </tbody>
	</table>

	<table style="display:show">
			<tr>
					<td>
							<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="1245" height="125">
									<param name="movie" value="footer.swf" />
									<param name="quality" value="high" />
									<embed src="footer.swf"
												quality="high"
												type="application/x-shockwave-flash"
												width="1245"
												height="125"
												pluginspage="http://www.macromedia.com/go/getflashplayer" />
							</object>
					</td>
			</tr>
	</table>

</body>
</html>
คือเป็นโปรเจคต่อจากรุ่นพี่ๆเค้าทำไว้ผมต้องมาเพิ่มเติมความสามารถอ่ะครับเลยอยากขอคำแนะนำหน่อยครับขอบคุณครับ



โดย:  Teerasak IP: 203.158.4.xxx วันที่: 26-10-2010 เวลา: 10:41:59

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ


  • ( หรือ สามารถทำการ สมัครสมาชิก และล็อกอิน ด้วย ปุ่ม Log in with Facebook ด้านล่าง )
 ความคิดเห็นที่ 3

 คำนวณ ระยะทางด้วย google map ลองดูตัวอย่าง
www.ninenik.com/DirectionsService_DirectionsRenderer_ค้นหา_และสร้าง_เส้นทางใน_google_map_-340.html



โดย:  Ninenik IP: 183.89.153.xxx วันที่: 26-10-2010
 ความคิดเห็นที่ 2

 อ่อครับ อย่างเช่นว่า ให้ google คำนวณระยะทางจาก อยุธยา ไป นครราชสีมา       โดยเส้นทางที่ผ่านก็มีอยุธยา สระบุรีและนครราชสีมา  คือต้องการให้ดึงความสูงของแต่ละจังหวัดจากดาต้าเบส มารวมกันครับ

ขอบคุณครับ 



โดย:  Teerasak IP: 203.158.4.xxx วันที่: 26-10-2010 เวลา: 11:21:40
 ความคิดเห็นที่ 1

 ไม่มีตัวอย่างหรอ นึกภาพไม่ออก คงแนะนำอะไรไม่ได้



โดย:  Ninenik IP: 183.89.153.xxx วันที่: 26-10-2010