繁体   English   中英

JavaScript googlemap api document.write()不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM