-3

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

     ....  
        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?
4

1 回答 1

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>
于 2013-01-24T17:50:55.117 回答