[英]Javascript googlemap api document.write() doesn't work
<script
src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
var geocoder = new google.maps.Geocoder();
<%for (String st : t.keySet()) {%>
printGeocode( <%=t.get(st)[1]%> , <%=t.get(st)[0]%> );
<%}%>
function printGeocode(x, y) {
document.write("Test Check1<br>"); // work fine
alert("test Check1"); // work fine
var latlng = new google.maps.LatLng(x, y);
geocoder.geocode({
'latLng' : latlng
}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
document.write(results[1].formatted_address+"<br>"); // didn't work
alert(results[1].formatted_address); // Work Fine
} else {
alert('No results found');
}
} else {
alert('Geocoder failed due to: ' + status);
}
});
}
</script>
这是我的来源
alert(String)正常工作
但是document.write不起作用
第一个“ document.write("Test Check1<br>"); // work fine
之间的区别是什么?
和document.write(results[1].formatted_address+"<br>");
i can't understand `alert(results[1].formatted_address); // Work Fine`
出现警报地址的原因
document.write(results[1].formatted_address+"<br>"); // didn't work
没有出现在网页上?
仅当浏览器正在构建DOM时,才能安全使用document.write()
API。 在maps API的回调中使用它意味着到它运行时,DOM已经完成。 那时,对document.write()
的调用暗含意味着应该清除DOM并准备一个新的DOM。
如果您需要添加内容,请使用DOM操作API和/或innerHTML
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.