คอมพิวเตอร์และอินเตอร์เน็ต,บรรยายวิชาการ,วิจัย,ศึกษากุรอาน,E-Book

วันพุธที่ 15 สิงหาคม พ.ศ. 2561

รับค่าตำแหน่งพิกัด Geo Location แล้วแสดงบนแผนที่ GMap


การรับค่าตำแหน่งพิกัด Geo Location แล้วแสดงบนแผนที่ GMap สามารถเขียน code
ในไฟล์ get_user_location_then_MAP.php ดังนี้(ไฟล์เดียว)

<!DOCTYPE html>
<html>
<head>
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta charset="UTF-8" />
<title>Watch position</title>
<style type="text/css">
<!--
#container {
 padding:1em;
 font-size:1.5em;
}

label {
 display:block;
 margin-top:12px;
}
-->
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?libraries=places&callback=initMap" async defer></script>

</head>
<body>

<div id="container">

<h1>Watch Position</h1>

<section>

<input type="button" id="startWatchButton" value="Watch Location" />
<input type="button" id="clearWatchButton" value="Stop" />

<a href="" id="mapLink" target="_blank">View Map</a>

<label for="clat">Latitude:</label>
<input type="text" id="clat" name="clat" />

<label for="clng">Longitude:</label>
<input type="text" id="clng" name="clng" />

<label for="calt">Altitude</label>
<input type="text" id="calt" name="calt" />

<label for="cacc">Accuracy</label>
<input type="text" id="cacc" name="cacc" />

<label for="caltAcc">Altitude Accuracy</label>
<input type="text" id="caltAcc" name="caltAcc" />

<label for="cheading">Heading</label>
<input type="text" id="cheading" name="cheading" />

<label for="cspeed">Speed</label>
<input type="text" id="cspeed" name="cspeed" />

<label for="ctimestamp">Timestamp</label>
<input type="text" id="ctimestamp" name="ctimestamp" />

<input type="hidden" data-decoder="clat" type="text" name="clat" id="latitude" readonly />
<input type="hidden" data-decoder="clng" type="text" name="clng" id="longitude" readonly />

<p><label class="text_form1">Longitude:</label><input data-decoder="clat" type="text" name="clat" readonly /></p>
<p><label class="text_form1">Latitude:</label><input data-decoder="clng" type="text" name="clng" readonly /></p>


<ul id="log"></ul>

</section>

</div>

<script>
function initMap() {
  var mapLink = $("#mapLink");
  var log = $("#log");
  var watchID;

  $("#startWatchButton").click(function()
   {
    watchID = navigator.geolocation.watchPosition(showPosition, positionError);
   }
  );

  $("#clearWatchButton").click(function()
   {
    navigator.geolocation.clearWatch(watchID);
    logMsg("Stopped watching for location changes.");
   }
  );

  function showPosition(position) {

   logMsg("Showing current position.");

   var coords = position.coords;

   $("#clat").val(coords.latitude);
   $("#clng").val(coords.longitude);

   $("#cacc").val(coords.accuracy);
   $("#calt").val(coords.altitude);
   $("#caltAcc").val(coords.altitudeAccuracy);
   $("#cheading").val(coords.heading);
   $("#cspeed").val(coords.speed);
   $("#ctimestamp").val(coords.timestamp);

   var clat = latitude.dataset.decoder;
   var clng = longitude.dataset.decoder;

   clat.value = position.coords.latitude;
   clng.value = position.coords.longitude;

   mapLink.attr("href", "http://maps.google.com/maps?q=" + $("#clat").val() + ",+" + $("#clng").val() + "+(You+are+here!)&iwloc=A&hl=en");

   mapLink.show();
  }

  function positionError(e) {
   switch (e.code) {
    case 0:
     logMsg("The application has encountered an unknown error while trying to determine your current location. Details: " + e.message);
     break;
    case 1:
     logMsg("You chose not to allow this application access to your location.");
     break;
    case 2:
     logMsg("The application was unable to determine your location.");
     break;
    case 3:
     logMsg("The request to determine your location has timed out.");
     break;
   }
  }

  function logMsg(msg) {
   log.append("<li>" + msg + "</li>");
  }

  mapLink.hide();

}
</script>

</body>
</html>

การแสดงตำแหน่งปัจจุบัน Geo Location ด้วย PHP


การแสดงตำแหน่งปัจจุบัน Geo Location ด้วย PHP จาด google api มีขั้นตอนดังต่อไปนี้

1.สร้างไฟล์ get_user_location.php 
เพื่อรับค่า lat/long และค่าความแม่นยำ(accuracy) ดังนี้

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Geocoding Page</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
 <script>
$(document).ready(function(){
    if(navigator.geolocation){
        navigator.geolocation.getCurrentPosition(showLocation);
    }else{
        $('#location').html('Geolocation is not supported by this browser.');
    }
});

function showLocation(position){
    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude; 
   var accuracy = position.coords.accuracy;  //adisak Add
    $.ajax({
        type:'POST',
        url:'detail_location.php',
        data:'latitude='+latitude+'&longitude='+longitude+'&accu='+accuracy,
        success:function(msg){
            if(msg){
               $("#location").html(msg);
            }else{
                $("#location").html('Not Available');
            }
        }
    });
}
</script>
</head>
<body>
   <p>Your Location: <span id="location"></span></p>
</body>
</html>


2.สร้างไฟล์  detail_location.php 
เพื่อแสดงค่ารายละเอียดของตำแหน่งตาม lat/long ที่รับมา ดังนี้

<?php
//if latitude and longitude are submitted
if(!empty($_POST['latitude']) && !empty($_POST['longitude'])){
//send request and receive json data by latitude and longitude
//with language option something like this - http://maps.google.com/maps/api/js?sensor=false&language=ja     //adisak add
    $url = 'http://maps.googleapis.com/maps/api/geocode/json?latlng='.trim($_POST['latitude']).','.trim($_POST['longitude']).'&sensor=false&language=th';
    $json = @file_get_contents($url);
    $data = json_decode($json);
    $status = $data->status;
    
    //if request status is successful
    if($status == "OK"){
        //get address from json data
        $location = $data->results[0]->formatted_address;
    }else{
        $location =  '';
    }
    
    //return address to ajax    ///////$_POST['accu']=ค่าที่ส่งมาพร้อม lat/long จากไฟล์ก่อนหน้านี้
    echo $location." [Lat : ".trim($_POST['latitude'])."/Long : ".trim($_POST['longitude'])."][ accuracy=".trim($_POST['accu'])."]";
}
?>

SQLeo Visual Query Builder


SQLeo

A powerful SQL tool to transform or reverse complex queries (generated by OBIEE, Microstrategy, Cognos, Hyperion, Pentaho ...) into diagrams to ease visualization and analysis. A graphical query builder that permits to create complex SQL queries easily. The GUI with multi-connections supports virtually all JDBC drivers, including ODBC bridge, Oracle, MySQL, PostgreSQL, Firebird, HSQLDB, H2, CsvJdbc, SQLite. And top of that, everything is open-source!

วันอาทิตย์ที่ 12 สิงหาคม พ.ศ. 2561

วิธีแก้ Navigation to the webpage was cancelled



                    ถ้าหากเปิดweb ไม่ได้ ขึ้นข้อความ Navigation to the webpage was cancelled โดยเฉพาะกับ browser ที่สร้างเองกับ delphi หรือ autoit หรือ lazarus เป็นต้น ให้แก้ไขดังนี้

-เปิด ie กดปุ่ม Tools > แทปสุดท้าย Avanced > reset