我正在尝试使用Javascript查找用户位置,但是它没有给我任何价值,我的代码在下面
<script>
window.onload = function() {
var startPos;
var geoSuccess = function(position) {
startPos = position;
document.getElementById('startLat').innerHTML = startPos.coords.latitude;
document.getElementById('startLon').innerHTML = startPos.coords.longitude;
};
navigator.geolocation.getCurrentPosition(geoSuccess);
};
</script>
<?php echo "<script> getCurrentPosition('startLat') </script>"; ?>
答案 0 :(得分:2)
通过HTML5 Geolocation API,您可以通过一些JavaScript(如果浏览器兼容,并且如果用户允许访问他/她的位置)来获取用户的纬度/经度。
然后您可以对地理位置进行反向地理编码以获得地址,除Google的API之外,还有其他free reverse-geocoding个服务。
您也可以查看此链接How to get geographical location of an IP address in PHP以获取更多了解
示例:
theta1 = zeros((3,2)) #this is a 3x2 matrix
theta0 = zeros((2,1)) #this is a 2x1 matrix
thetares = theta1.dot(theta0) #3x2 * 2x1 -> 3x1
res0 = thetares.T.dot(thetares)[0,0] #result 0.0
res1 = thetares.T.dot(thetares) #result [[0.]]
答案 1 :(得分:2)
如果您在HTML中具有id为“ startLat”和“ startLon”的元素,那么它将起作用
只需添加HTML:
<p id="startLat"></p>
<p id="startLon"></p>
您实际上可以删除此行:
<?php echo "<script> getCurrentPosition('startLat') </script>"; ?>
答案 2 :(得分:0)
要在PHP中使用纬度/经度,可以通过JS发送the values
在HTML
<script>
function sendData(value) {
var request = new XMLHttpRequest();
request.open('post', 'DESTINATION.PHP', true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.send('data=' + value);
}
</script>
或作为隐藏表单输入 并在PHP中访问
if(isset($_POST['data'])){
$data = $_POST['data'];
// Do stuff...
}