Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中访问javascript变量并防止在某些事件之前加载正文_Javascript_Php_Jquery_Google Maps_Google Maps Api 3 - Fatal编程技术网

在php中访问javascript变量并防止在某些事件之前加载正文

在php中访问javascript变量并防止在某些事件之前加载正文,javascript,php,jquery,google-maps,google-maps-api-3,Javascript,Php,Jquery,Google Maps,Google Maps Api 3,我正在创建一个应用程序,其中将获取用户的位置,并显示在地图中。还有,我正在获取的用户所在的城市。我已经创建了一个单独的master.js,在那里我放置了所有的获取代码。现在我把函数放在window.onload中,它将调用地图的函数,在地图中获取纬度和经度,并从那里调用一个函数获取用户的城市 function showcityname(userLatlng){ var geocoder = new google.maps.Geocoder(); geocoder.geocode(

我正在创建一个应用程序,其中将获取用户的位置,并显示在地图中。还有,我正在获取的用户所在的城市。我已经创建了一个单独的master.js,在那里我放置了所有的获取代码。现在我把函数放在window.onload中,它将调用地图的函数,在地图中获取纬度和经度,并从那里调用一个函数获取用户的城市

function showcityname(userLatlng){
    var geocoder = new google.maps.Geocoder();
    geocoder.geocode({
      "location": userLatlng
    },
    function(results, status) {
      if (status == google.maps.GeocoderStatus.OK)
        var city_name = results[0].address_components[4].long_name;//to get address
        //window.location="?city_name="+ city_name;

        alert(city_name);
         document.cookie = "name=" + city_name ;        
        //fetchcity(city_name);
        // window.location = "?city=" + city_name;      

     // else
      //  document.getElementById("error").innerHTML += "Unable to retrieve your address" + "<br />";
   });
}
函数showcityname(userLatlng){
var geocoder=new google.maps.geocoder();
地理编码({
“位置”:userLatlng
},
功能(结果、状态){
if(status==google.maps.GeocoderStatus.OK)
var city\u name=results[0]。地址\u组件[4]。长\u name;//获取地址
//window.location=“?city_name=“+city_name;
警报(城市名称);
document.cookie=“name=”+城市名称;
//城市(城市名称);
//window.location=“?city=“+城市名称;
//否则
//document.getElementById(“错误”).innerHTML+=“无法检索您的地址”+”
”; }); }

现在我想让应用程序像使用这个城市名称一样,查询将被激发到数据库,并在页面上显示数据库中的相关数据。问题是尸体在运到城市之前就已经上膛了。因此,相关数据不会显示在页面上。我想让city_name变量首先分配给variable,然后执行body,以便显示相关数据。我有user document.cookie,但如果用户第一次访问我的网站,它将不起作用,只有当用户刷新页面时,它才会起作用。可能是它的窗口问题。onload。。如何在城市名称出现之前停止车身装载。提前感谢。

如何获取参数
userLatlng
?使用positio.coords.latitude和longitude,我将获取UseTlang。问题是我已将其设置为onload,因此它将在加载主体后执行。我想在拿到城市名称后再装上尸体我不知道你的其他代码是什么。您是否使用
navigator.geolocation.getCurrentPosition()
获取
userLatlng
?如果是这种情况,并且您没有使用一些标记来获取位置,那么您可以从数据库中检索所有数据,然后加载地图。是的,我正在使用
navigator.geolocation.getCurrentPosition()
来获取用户的当前位置。获取用户位置之前的身体负荷。我想在获取用户所在城市后,执行主体。
getCurrentPosition()
是异步的,需要一些时间才能获得结果。另外,您打给DB需要一些时间。我不知道什么是最好的管理方法。一个选项是向用户显示有限的信息,直到您获得客户位置并检查它,然后显示包含所有相关信息的地图。