2013-01-24 100 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

相關問題