ดังนั้นฉันมี JS ที่ค่อนข้างง่ายโดยใช้ navigator.geolocation.getCurrentPosition jammy
$(document).ready(function(){
$("#business-locate, #people-locate").click(function() {
navigator.geolocation.getCurrentPosition(foundLocation, noLocation);
});
navigator.geolocation.getCurrentPosition(foundLocation, noLocation);
function foundLocation(position) {
var lat = position.coords.latitude;
var lon = position.coords.longitude;
var userLocation = lat + ', ' + lon;
$("#business-current-location, #people-current-location").remove();
$("#Near-Me")
.watermark("Current Location")
.after("<input type='hidden' name='business-current-location' id='business-current-location' value='"+userLocation+"' />");
$("#people-Near-Me")
.watermark("Current Location")
.after("<input type='hidden' name='people-current-location' id='people-current-location' value='"+userLocation+"' />");
}
function noLocation() {
$("#Near-Me").watermark("Could not find location");
$("#people-Near-Me").watermark("Could not find location");
}
})//end DocReady
โดยทั่วไปสิ่งที่เกิดขึ้นที่นี่คือเราได้รับตำแหน่งปัจจุบันหากได้รับสอง "ลายน้ำ" ถูกวางไว้ในสองสาขาที่กล่าวว่า "ตำแหน่งปัจจุบัน" และสองเขตข้อมูลที่ซ่อนอยู่จะถูกสร้างขึ้นด้วยข้อมูล lat-long เป็นค่าของพวกเขา ในตอนแรกพวกเขาจะไม่ถูกทำซ้ำทุกครั้ง) นอกจากนี้ยังมีปุ่มสองปุ่มที่มีฟังก์ชั่นคลิกเชื่อมโยงกับปุ่มที่ทำสิ่งเดียวกัน น่าเสียดายที่ทุก ๆ ครั้งที่สามทำงานได้ มีปัญหาอะไรที่นี่ ???
noLocation
การเรียกใช้ฟังก์ชันหรือไม่ ถ้าเป็นเช่นนั้นคุณสามารถเพิ่มerror
พารามิเตอร์ลงในnoLocation()
และจากนั้นerror.code
และerror.message
อาจช่วยคุณในการดีบัก นอกจากนี้ยังอาจช่วยให้เราทราบว่าคุณใช้เบราว์เซอร์ใดและหากคุณพบปัญหาเดียวกันในเบราว์เซอร์ที่แตกต่างกัน