使用谷歌地图时,无法从表单输入文本框中获取值?

时间:2012-03-16 07:58:10

标签: javascript google-maps firebug

我使用演示ramirezcobos中的谷歌地图查找器并配置:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var map;
var marker=false;
function initialize() {
    var myLatlng = new google.maps.LatLng(10.786599576864381, 106.69340372085571);

    var myOptions = {
        zoom: 16,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }

    map = new google.maps.Map(document.getElementById("gmap"), myOptions);

    marker = new google.maps.Marker({
        position: myLatlng, 
        map: map
    });

      google.maps.event.addListener(map, 'center_changed', function() {
        var location = map.getCenter();
        document.getElementById("latlng").value = location.lat()+ ', '+location.lng(); 
        placeMarker(location);
      });

      google.maps.event.addListener(map, 'zoom_changed', function() {
        zoomLevel = map.getZoom();
        document.getElementById("zoom_level").innerHTML = zoomLevel;
      });

      google.maps.event.addListener(marker, 'dblclick', function() {
        zoomLevel = map.getZoom()+1;
        if (zoomLevel == 20) {
            zoomLevel = 10;
        }    
        document.getElementById("zoom_level").innerHTML = zoomLevel; 
        map.setZoom(zoomLevel);
      });
      document.getElementById("latlng").value = 10.786599576864381+ ', '+106.69340372085571;
}

function placeMarker(location) {
    var clickedLocation = new google.maps.LatLng(location);
    marker.setPosition(location);
}

window.onload = function(){initialize();};

</script>
<div id="bd"><div id="gmap"></div></div>
<input type="text" name="latlng" id="latlng" value="" />   

当我使用firebug时输入值[type =“text”]中未显示值,则为null

<input id="latlng" type="text" value="" name="latlng">

如何解决?

1 个答案:

答案 0 :(得分:0)

您要设置元素的值 - 属性,设置html- 属性(不一样),使用setAttribute():< / p>

document.getElementById("latlng").setAttribute('value',location.lat()+ ', '+location.lng()); 

...你会在firebug的HTML-Tab中看到这些变化。

但您也可以检查元素的属性,在HTML-Tab中选择元素,然后在右侧,您将找到DOM-tab中的所有属性。

但是,在这种情况下,这不应该影响您的实现,只要您没有尝试使用via node.value='?'读取value-property set node.getAttribute('value')(反之亦然)