2016-06-07 82 views
0

我在此處指定了place id「placeid = results [0] .place_id」但它沒有設置。它返回給我未定義。分配操作在那裏失敗。Javascript值不分配

function match_up_dn(address) 
{ 
    geocoder = new google.maps.Geocoder(); 
    var placeid; 

    if (geocoder) 
    { 
     geocoder.geocode({ 
      'address': address 
     }, function (results, status) { 

      if (status == google.maps.GeocoderStatus.OK) { 
       console.log("al:-"+results[0].place_id); 
       placeid = results[0].place_id; 
      } 
      else 
      { 
       alert("undefined address"); 
      } 
     }); 
    } 

    return placeid; 
} 
+0

重寫問題,以便它使一點點意義。 – jitendragarg

+0

我在此處指定了place id「placeid = results [0] .place_id」,但它沒有設置。它返回給我未定義。分配操作在那裏失敗。 –

+0

我要求重寫,而不是複製粘貼問題中提到的同一行。如果你無法忍受試圖解釋你的問題,不要指望任何人幫助你解決問題。 – jitendragarg

回答

0

試試這個

function match_up_dn(address) 
{ 
    geocoder = new google.maps.Geocoder(); 
    var placeid; 

     geocoder.geocode({ 
      'address': address 
     }, function (results, status) { 

      if (status == google.maps.GeocoderStatus.OK) { 
       console.log("al:-"+results[0].place_id); 
       placeid = results[0].place_id; 
       return placeid; 
      } 
      else 
      { 
       alert("undefined address"); 
      } 
     }); 

} 
+0

它沒有工作! –

+0

@MitulLakhani現在嘗試這個肯定會工作。 –

+0

您確實沒有得到輸出,因爲API調用響應函數在後臺線程上運行,所以主線程將在後臺線程更新值之前返回空值。現在,當您將return語句移動到後臺線程時,它將解決您的問題 –