Java Script in Radius

<?php
$setjarak=100;
if(isset($_POST["Set"])){
$setjarak=$_POST["jarak"];
}

?>
<script type="text/javascript" src="//maps.googleapis.com/maps/api/js?key=AIzaSyBhSg6I2JvHNU_jLqIpvc5MEwc_xi3Ttvg&sensor=true"></script>
<script>
var map;

Number.prototype.toRad = function() {
   return this * Math.PI / 180;
}

function initialize() {
var lat1=-6.308426;
var lon1=106.798714;

  var myLatlng = new google.maps.LatLng(lat1, lon1);
  var mapOptions = {
    zoom: 10,
    center: myLatlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }
  map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
 var image = 'https://developers.google.com/maps/documentation/javascript/examples/full/images/beachflag.png';
  var location0 = new google.maps.LatLng(lat1,lon1);
var marker0 = new google.maps.Marker({
        position: location0,
        map: map,
icon: image
    });
    marker0.setTitle("Posisi Anda");
var content0="Jl. RS Fatmawati, Pangkalan Jati, Cilandak, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 16514";
    attachSecretMessage(marker0, content0);


// or: new Array();
var arLat= [];
var arLon= [];
var arNama= [];
var arLok= [];
var arJarak= [];
var n=0;
var JM=2;
<?php
   $sql="select * from `$tbseminar` where status='Aktif' order by `kd_sem` desc";
  if(isset($_POST["Go1"])){
 $cari=$_POST["cari"];
 $sql="select * from `$tbseminar` where nm_sem like '%$cari%' and status='Aktif' order by `kd_sem` desc";
 }
else if(isset($_POST["Go2"])){
 $item=$_POST["item"];
 $pilih=$_POST["pilih"];

 if($pilih=="kota"){
  $sql="select * from `$tbseminar`,kotkab where `$tbseminar`.kd_kotkab=kotkab.kd_kotkab and kotkab.nm_kotkab like '%$item%' and `$tbseminar`.status='Aktif' ";
 }
else{
$sql="select * from `$tbseminar`,panitia where `$tbseminar`.panitia=panitia.kd_pan and panitia.nm_univ like '%$item%'  and `$tbseminar`.status='Aktif' ";
}
 }

  $arr=getData($conn,$sql);
$j=0;

if(isset($_POST["Set"])){ ?>
JM= <?php echo $_POST["jarak"];?>
<?php
}

foreach($arr as $d) {
$kd_sem=$d["kd_sem"];
$kd_sem0=$d["kd_sem"];
$nm_sem=$d["nm_sem"];
$kd_ilmu_3=getIlmuTiga($conn,$d["kd_ilmu_3"]);
$panitia=getPanitia($conn,$d["panitia"]);
$nm_loc=$d["nm_loc"];
$lat=$d["lat"];
$long=$d["long"];
$kd_kotkab=getKotKab($conn,$d["kd_kotkab"]);
$tgl=WKT($d["tgl"]);
$jam=$d["jam"];
$htm=$d["htm"];
$kd_cat=getCat($conn,$d["kd_cat"]);
$cp=$d["cp"];
$desc_sem=$d["desc_sem"];
$gambar=$d["gambar"];
$gambar0=$d["gambar"];
?>

var lat2= <?php echo $lat;?>;
var lon2= <?php echo $long;?>;

var R = 6371; // km
//has a problem with the .toRad() method below.
var x1 = lat2-lat1;
var dLat = x1.toRad();
var x2 = lon2-lon1;
var dLon = x2.toRad();
var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
                Math.cos(lat1.toRad()) * Math.cos(lat2.toRad()) *
                Math.sin(dLon/2) * Math.sin(dLon/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;

 <?php if(isset($_POST["Set"])){ ?>
if(d <= JM){
     arLat[n]= <?php echo $lat;?>;
arLon[n]= <?php echo $long;?>;
arNama[n]= "<?php echo $nm_sem;?>";
arLok[n]= "<?php echo "Hasil cari <=".$_POST["jarak"]."KM : $nm_loc $kd_kotkab $tgl #<a href='index.php?mnu=direction&x=$lat&y=$long'>Go Direction</a>";?>";
arJarak[n]=d;
n=n+1;
}//<=
<?php
}//isset

else{
?>
arLat[n]= <?php echo $lat;?>;
arLon[n]= <?php echo $long;?>;
arNama[n]= "<?php echo $nm_sem;?>";
arLok[n]= "<?php echo "$nm_loc $kd_kotkab $tgl #<a href='index.php?mnu=direction&x=$lat&y=$long'>Go Direction</a>";?>";
arJarak[n]=d;
n=n+1;
<?php
}//else
}//foreach
?>

for (var i = 0; i < n; i++) {
    var location = new google.maps.LatLng(arLat[i],arLon[i]);
    var marker = new google.maps.Marker({
        position: location,
        map: map
    });
    marker.setTitle(arNama[i]);
var content=arNama[i]+"\n"+arLok[i]+" jarak :"+arJarak[i]+" KM";
    attachSecretMessage(marker, content);
}
}

function attachSecretMessage(marker, lokasi) {
  var infowindow = new google.maps.InfoWindow({content: lokasi,size: new google.maps.Size(50,50)});
  google.maps.event.addListener(marker, 'click', function() {
    infowindow.open(map,marker);
  });
}

google.maps.event.addDomListener(window, 'load', initialize);
</script>


  <body>
    <div id="map_canvas"  style="width:100%;height:500px;"></div>
   
    <br>
   
     <div align="right">
     <form action="" method="post">
     Set jarak <input type="text" name="jarak" id="jarak" value="<?php echo $setjarak;?>">
<input type="submit" value="Set" name="Set">
     </form>
</div>
   
  </body>

Posisi Awal muncul semua titik:
Hasil Pencarian 8 KM:



Fungsi mengitung jarak:


<script type="text/javascript"> 
Number.prototype.toRad = function() {
   return this * Math.PI / 180;
}

var lat1=-6.308426;
var lon1=106.798714;

var lat2=-6.315500;
var lon2=106.795391;

var R = 6371; // km 
//has a problem with the .toRad() method below.
var x1 = lat2-lat1;
var dLat = x1.toRad();  
var x2 = lon2-lon1;
var dLon = x2.toRad();  
var a = Math.sin(dLat/2) * Math.sin(dLat/2) + 
                Math.cos(lat1.toRad()) * Math.cos(lat2.toRad()) * 
                Math.sin(dLon/2) * Math.sin(dLon/2);  
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
var d = R * c; 

alert(d);


</script>    

Komentar

Postingan populer dari blog ini

Source Code Koleksi Php dan java script

Java Script Auto refresh

Java Script Membaca Lokasi Kita