Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,028

HOME > PHP > PHP Forum > ขอปรึกษาการใช้ HTML5 เพื่อดึงข้อมูล Geolocation บน web server แต่ละแบบ



 

ขอปรึกษาการใช้ HTML5 เพื่อดึงข้อมูล Geolocation บน web server แต่ละแบบ

 



Topic : 129102



โพสกระทู้ ( 1,127 )
บทความ ( 2 )



สถานะออฟไลน์




สวัสดีครับ

จากตัวอย่างที่พี่วิน แนะนำไว้
https://www.thaicreate.com/community/html5-geolocation-latitude-longitude.html
https://www.thaicreate.com/tutorial/google-maps-javascript-api-geolocation.html

- ผมนำ code ไปรันบน XAMPP Version: 5.5.35 สามารถแสดงผล Geolocation ได้ปกติ

- แต่นำไปรันบน Appserv Version: 2.5.10 , Ubuntu14.04, CentOS6 ไม่สามารถแสดงข้อมูล Geolocation ได้

SSL ก็มีการติดตั้งแล้ว
เลยสงสัยว่าต้องมีการคอนฟิก module ของ apache เพิ่มเติมหรือเปล่าครับ


ห่างหายจากวงการสาย Dev ไป 2-3 ปี
ข้ามไปฝั่ง Network
กลับมาอีกที มึนๆ งงๆ



Tag : PHP, HTML5, JavaScript, Apache, Appserv, XAMPP









ประวัติการแก้ไข
2017-10-04 21:29:16
2017-10-04 21:29:43
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-10-04 21:28:33 By : iieszz View : 1786 Reply : 6
 

 

No. 1



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


geolocation มันเป็น js รันบนเบราเซอร์ ไม่ว่าจะวางไว้ที่ไหนมันก็รันได้เหมือนกันไม่เกี่ยวกับ web server






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-05 00:38:22 By : mr.v
 


 

No. 2



โพสกระทู้ ( 1,127 )
บทความ ( 2 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.v เมื่อวันที่ 2017-10-05 00:38:22
รายละเอียดของการตอบ ::
ใช่ครับ ตอนแรกผมก็เข้าใจว่าเป็นแบบนี้ แต่ลองรันแล้วไม่ได้
ทั้งที่ฝั่ง client ก็ใช้เครื่องเดียวกันทดสอบ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-05 10:00:40 By : iieszz
 

 

No. 3



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


มันไม่มีอะไรที่เป็น server side สักนิดเดียวเลยแล้วจะไปเกี่ยวกับ web server ได้ยังไงครับ
คุณไม่ไล่ดูไฟล์ที่โหลดล่ะว่ามันมี 404 อันไหนหรือเปล่า พวก .js ทั้งหลายแหล่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-06 00:53:07 By : mr.v
 


 

No. 4



โพสกระทู้ ( 1,127 )
บทความ ( 2 )



สถานะออฟไลน์


Code (JavaScript)
<!DOCTYPE html>
<html>
<body>

<p>Click the button to get your coordinates.</p>

<button onclick="getLocation()">Try It</button>

<p id="demo"></p>

<script>
var x = document.getElementById("demo");

function getLocation() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showPosition);
    } else { 
        x.innerHTML = "Geolocation is not supported by this browser.";
    }
}

function showPosition(position) {
    x.innerHTML = "Latitude: " + position.coords.latitude + 
    "<br>Longitude: " + position.coords.longitude;
}
</script>

</body>
</html>



credit:https://www.w3schools.com/html/html5_geolocation.asp

ผมใช้ code จาก www.w3schools.com ซึ่งเป็น js ปกติ ไม่ได้มีการ include js เข้ามา
มาลองทดสอบ ก็เป็นแบบเดียวกันครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-11 18:56:06 By : iieszz
 


 

No. 5



โพสกระทู้ ( 1,127 )
บทความ ( 2 )



สถานะออฟไลน์


ตอนนี้ หาวิธีแก้ปัญหานี้ได้แล้วนะครับ

โดยใช้ jQuery ajax ไปขอใช้ข้อมูลในรูปแบบ json จาก https://geoip-db.com/ มาใช้งานครับ(ตำแหน่งอาจจะไม่ตรงมาก แต่ก็พอใช้ได้)

ส่วน code จาก w3cschool
web server ต้องมี ssl อย่างที่พี่วิน แนะนำไว้ครับ

Code (PHP)
<!DOCTYPE html>
<html>
<head>
    <title>GEOIP DB - jQuery example</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
    <div>Country: <span id="country"></span>
    <div>State: <span id="state"></span>
    <div>City: <span id="city"></span>
    <div>Latitude: <span id="latitude"></span>
    <div>Longitude: <span id="longitude"></span>
    <div>IP: <span id="ip"></span>
    <script>
	$.ajax({
		url: "https://geoip-db.com/jsonp",
		jsonpCallback: "callback",
		dataType: "jsonp",
		success: function( location ) {
			$('#country').html(location.country_name);
			$('#state').html(location.state);
			$('#city').html(location.city);
			$('#latitude').html(location.latitude);
			$('#longitude').html(location.longitude);
			$('#ip').html(location.IPv4);  
		}
	});		
    </script>
</body>
</html>




ประวัติการแก้ไข
2017-10-23 16:31:02
2017-10-23 17:45:13
2017-10-23 17:46:07
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-23 16:26:09 By : iieszz
 


 

No. 6



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


Code (JavaScript)


var apiGeolocationSuccess = function(position) {
    alert("API geolocation success!\n\nlat = " + position.coords.latitude + "\nlng = " + position.coords.longitude);
};

var tryAPIGeolocation = function() {
    jQuery.post( "https://www.googleapis.com/geolocation/v1/geolocate?key=AIzaSyDCa1LUe1vOczX1hO_iGYgyo8p_jYuGOPU", function(success) {
        apiGeolocationSuccess({coords: {latitude: success.location.lat, longitude: success.location.lng}});
  })
  .fail(function(err) {
    alert("API Geolocation error! \n\n"+err);
  });
};

var browserGeolocationSuccess = function(position) {
    alert("Browser geolocation success!\n\nlat = " + position.coords.latitude + "\nlng = " + position.coords.longitude);
};

var browserGeolocationFail = function(error) {
  switch (error.code) {
    case error.TIMEOUT:
      alert("Browser geolocation error !\n\nTimeout.");
      break;
    case error.PERMISSION_DENIED:
      if(error.message.indexOf("Only secure origins are allowed") == 0) {
        tryAPIGeolocation();
      }
      break;
    case error.POSITION_UNAVAILABLE:
      alert("Browser geolocation error !\n\nPosition unavailable.");
      break;
  }
};

var tryGeolocation = function() {
  if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(
        browserGeolocationSuccess,
      browserGeolocationFail,
      {maximumAge: 50000, timeout: 20000, enableHighAccuracy: true});
  }
};

tryGeolocation();


https://stackoverflow.com/questions/39366758/geolocation-without-ssl-connection
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-24 03:34:33 By : mr.v
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขอปรึกษาการใช้ HTML5 เพื่อดึงข้อมูล Geolocation บน web server แต่ละแบบ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่