我试图为两个不同的函数使用相同的代码。但是一个函数正在工作,但另一个函数不工作

时间:2014-09-30 13:06:32

标签: javascript php google-maps

这两个函数被调用,一个来自HTML代码,另一个来自PHP代码。函数addMarker用于在从数据库中检索的位置添加标记。函数codeAddress用于将标记放置在用户以HTML格式输入的位置。 codeAdress工作正常但“addMarker”却没有。 我也尝试在addMarker函数中执行警报消息,并且其工作正常。但是地理编码器功能在其中不起作用。 我也在为实际代码下面的两个函数编写函数调用。

function addMarker(address1)
{ 
geocoder.geocode( {'address': address1}, function(results, status) {
alert(address1);    
  if (status == google.maps.GeocoderStatus.OK) {
    map.setCenter(results[0].geometry.location);
    var marker = new google.maps.Marker({
        map: map,
        draggable: true,
        position: results[0].geometry.location
    });

  } else {
    alert("Geocode was not successful for the following reason: " + status);
  }
});

}



function codeAddress() {
var address = document.getElementById("address").value;
geocoder.geocode( { 'address': address}, function(results, status) {
  if (status == google.maps.GeocoderStatus.OK) {
    map.setCenter(results[0].geometry.location);
    var marker = new google.maps.Marker({
        map: map,
        draggable: true,
        position: results[0].geometry.location

    });
  }
  else {
    alert("Geocode was not successful for the following reason: " + status);
  }
});
}

html代码

<input id="address" type="textbox" value="Sydney, NSW">
<input type="button" value="Geocode" onclick="codeAddress()">

PHP代码

echo "<script type='text/javascript'>";
echo "addMarker('$row[address]')";
echo "</script>";   

2 个答案:

答案 0 :(得分:0)

$ row [地址]在这里没有被评估,它只是被回应。我怀疑你的意思是:

echo "addMarker(" . $row['address'] . ")";

答案 1 :(得分:0)

但我尝试使用alert在JavaScript代码中打印address1变量。它打印得很完美。我认为这不是错误。