2013-01-24 72 views
-3

我发现了一个javascript函数,它在地图上点击时获取国家的名称,以及从文件中随机获取国家/地区名称的php代码片段。我想要做的是比较这两者之间的结果,以便我可以根据问题中出现的那个来判断用户是否在地图上显示了正确的国家。我不知道该怎么做,因为它们不是完全简单的变量,我试图将php变量分配给一个没有运气的javascript。任何指导将不胜感激。将一个javascript函数与一个php变量进行比较

 .... 
     function getCountry(latLng) { 
       geocoder.geocode({'latLng': latLng}, 
        function(results, status) { 
        if(status == google.maps.GeocoderStatus.OK) { 
         if(results[0]) { 
         for(var i = 0; i < results[0].address_components.length; i++) { 
          if(results[0].address_components[i].types[0] == "country") { 
          alert(results[0].address_components[i].long_name); 
          } 
         } 
         } 
         else { 
         alert("No results"); 
         } 
        } 
        else { 
         alert("Status: " + status); 
        } 
        } 
       ); 
       } 


.... 

    Can you locate <?php 
     $countries=file("countries.txt"); 
     $number_countries=count($countries); 
     if($number_countries!==0){$number_countries.=-1;}; 
     $random=rand(0,$number_countries); 
     $countryy=$countries[$random]; 
     echo "$countryy"; 
     ?> on the map? 
+5

*叹*看到这些太累了...... PHP是服务器端,JavaScript是客户端。他们只会在渲染时将您的PHP数据写入脚本,或者JavaScript发送Ajax请求。你不能只是''phpvar === jsVar' – Chad

回答

0

这是一个不好的做法,你应该使用ajax,但这里是你想要的。

Can you locate <?php 
    $countries=file("countries.txt"); 
    $number_countries=count($countries); 
    if($number_countries!==0){$number_countries.=-1;}; 
    $random=rand(0,$number_countries); 
    $countryy=$countries[$random]; 
    echo "$countryy"; 
    ?> on the map? 
    <script type="text/javascript"> 
     var country = <?php echo json_encode($countryy); ?> 

     function getCountry(latLng) { 
       geocoder.geocode({'latLng': latLng}, 
       function(results, status) { 
        if(status == google.maps.GeocoderStatus.OK) { 
        if(results[0]) { 
         for(var i = 0; i < results[0].address_components.length; i++) { 
         if(results[0].address_components[i].types[0] == "country") { 
          if(results[0].address_components[i].long_name == country) { 
           alert("right"); 
          } else { 
           alert("wrong"); 
          } 
         } 
         } 
        } 
        else { 
         alert("No results"); 
        } 
        } 
        else { 
        alert("Status: " + status); 
        } 
       } 
      ); 
     } 
    </script> 
+0

我一直在得到“错误”..我认为,通过将PHP变量分配给VAR国家,我无法从谷歌获得该功能的国家的结果地图。 – niaoy

+0

我用一个javascript替换了php部分,它工作。无论哪种方式非常感谢你!附:我知道我没有使用最好的方式,但我真的很新,所以我只是想找到一种方法来处理这一切。 – niaoy

相关问题