ขอคำแนะนำเกี่ยวกับการคำนวณระยะทาง Google api และใช้ความสูงของแต่ละจังหวัดมาคำนวณหน่อยครับ
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ขอคำแนะนำเกี่ยวกับการคำนวณระยะทาง Google api และใช้ความสูงของแต่ละจังหวัดมาคำนวณหน่อยครับ
ขอคำแนะนำเกี่ยวกับการคำนวณระยะทาง Google api และใช้ความสูงของแต่ละจังหวัดมาคำนวณหน่อยครับ
Copy
คือผมต้องการให้โปรแกรมสามารถคำนวณความสูงของแต่ละจังหวัดที่เราเดินทางผ่านอ่ะครับโดยที่เอาความสูงทั้งหมดมารวมกันโดยมีโคดดังนี้ครับ
<!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," ","<B>"," เวลา : ","</B>",$timeh1,".",$timem1," น.","<br>"; //echo "<B>","วันที่เดินทางกลับ : ","</B>",$exp_date," ","<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," "," "; } echo "<h4><B>"," เส้นทางที่สามารถเดินทางได้"," "," ","( โปรดเลือกเส้นทางในการเดินทาง 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 " <input type = 'radio' name='plan' value='".$p[$e]."'>"; echo "<B>"," เส้นทางที่สามารถเดินทางได้เส้นทางที่","</B>"," <b>",($e+1),"</b> ","ระยะทางรวมประมาณ ",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 " <img src='transmit.png' width='30' height='30' /> ","<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>"," กดปุ่มเพื่อยืนยันเส้นทาง >>>","</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
203.158.4.xxx
26-10-2010
10:41:59
คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา
โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ