2011-06-27 57 views
0
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript"> 
    var geocoder; 
    var loc; 
    geocoder = new google.maps.Geocoder(); 
    var input = "32.83036,34.974339" 
    var latlngStr = input.split(",",2); 
    var lat = parseFloat(latlngStr[0]); 
    var lng = parseFloat(latlngStr[1]); 
    var latlng = new google.maps.LatLng(lat, lng); 

    geocoder.geocode({'latLng': latlng}, function(results, status) { 
     document.write(results[1].formatted_address); 
    }); 


</script> 

它不會執行任何操作。如果我將「alert.write」替換爲「alert」,它將起作用。 我在做什麼錯?google.maps.Geocoder - 無法將數據從函數寫入頁面

回答

0

document.write是邪惡的;如果你使用的是XHTML DTD,它甚至不能工作。關於爲什麼不使用document.write的更多理由:Why is document.write considered a "bad practice"?

+0

它沒有改變。這只是一個例子,在實際的代碼中,我需要將這些數據放入一個變量中,並在此函數之外使用它。我的觀點是,出於某種原因,我只能在該函數中使用該數據。 – Yuval

+0

如果您將它存儲在一個var中並稍後使用它,請確保函數(回調函數)已經觸發。例如,觸發使用回調函數內的變量的函數。 – Bjorn

+0

我的JavaScript技能非常差。你能告訴我一個例子嗎? – Yuval

0

難道你不能只使用類似的東西;

document.getElementById('ObjectName')。innerText = results [1] .formatted_address;

也結果[0] .formatted_address(零不是一個)會給你一個更詳細的街道名稱。

Jim