gpt4 book ai didi

javascript - 地理定位在本地工作但不在远程服务器上

转载 作者:行者123 更新时间:2023-11-30 22:12:14 24 4
gpt4 key购买 nike

我将正在使用的网络应用程序上传到远程服务器。一切都很好,除了地理位置。我不明白是什么问题,因为我没有收到任何错误消息。这是涉及地理定位的 HTML 代码。

<tr>
<td>Ti trovi qui: <span id="location"></span></td>
</tr>
</table>
<input type="hidden" id="latitude" name="latitude">
<input type="hidden" id="longitude" name="longitude">
</form>

这些是我使用的脚本:(我对 javascript 和 jQuery 不是很了解)

function showLocation(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
jQuery.ajax({
type:'POST',
url:'getLocation.php',
data:'latitude='+latitude+'&longitude='+longitude,
success:function(msg){
if(msg){
jQuery("#location").html(msg);
}else{
jQuery("#location").html('Not Available');
}
}
});
}

function getUserCoordinates(position){

var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
document.getElementById('latitude').value=latitude
document.getElementById('longitude').value=longitude

}

jQuery(document).ready(function(){
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(getUserCoordinates);
navigator.geolocation.getCurrentPosition(showLocation);
} else {
jQuery('#location').html('Geolocation is not supported by this browser.');
}
});

这是 getLocation.php 文件(但我不认为这是问题所在):

<?php

require_once 'metodi.php';

sec_session_start();

if(login_check() == true){
if(!empty($_POST['latitude']) && !empty($_POST['longitude'])){

$_SESSION['latitude'] = $_POST['latitude'];
$_SESSION['longitude'] = $_POST['longitude'];
//Send request and receive json data by latitude and longitude
$url = 'http://maps.googleapis.com/maps/api/geocode/json?latlng='.trim($_POST['latitude']).','.trim($_POST['longitude']).'&sensor=false';
$json = @file_get_contents($url);
$data = json_decode($json);
$status = $data->status;
if($status=="OK"){
//Get address from json data
$location = $data->results[0]->formatted_address;
}else{
$location = '';
}
//Print address
echo $location;
}
} else {
echo "Non sei autorizzato a visualizzare questa pagina. Effettua il login.";
}

?>

然后我在另一个 php 文件中获取隐藏输入的值。

最佳答案

如果你的网站运行在https,你也需要改变这个

http://maps.googleapis.com/maps/api/geocode/json?latlng=

为此

https://maps.googleapis.com/maps/api/geocode/json?latlng=

关于javascript - 地理定位在本地工作但不在远程服务器上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39711854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com