使用表单值初始化Google地图

时间:2013-03-17 08:08:56

标签: javascript forms google-maps button google-maps-api-3

我必须从表单值重新初始化google地图。但我无法在点击按钮(名为dynamic_display)上获取表单的值。任何人都会知道如何执行此操作。 地图代码是:

    <script>
        function initialize(a,b,zoom){
 if (!a || !b ||!zoom){ 
//alert('not done '+ "lat="+a+" lang= " +b+" zoom= "+zoom); 
       var centerLoc=new google.maps.LatLng( 53.61701054652337,53.37824736488983);
       zoom=16;
}
else
{
//alert('done' + "lat="+a+" lang= " +b+" zoom= "+zoom);  
var centerLoc=new google.maps.LatLng(a,b);
}
       var mapProp = {
           center:centerLoc,
           zoom:zoom,
           //mapTypeId:google.maps.MapTypeId.ROADMAP
           mapTypeId:google.maps.MapTypeId.SATELLITE
       };  
       var map=new google.maps.Map(document.getElementById("googleMap") ,mapProp);
           marker=new google.maps.Marker({
                  position:centerLoc,
                  title:'Click to zoom'
           });
  google.maps.event.addListener(marker,'click',function() {
                map.setZoom(map.getZoom()+1);
                map.setCenter(marker.getPosition());
       });
      marker.setMap(map);   
        }
         google.maps.event.addDomListener(window, 'load', initialize);
    </script>

形式:

 <html>
    <body onload="initialize(30,70,5)">
        <form method="GET"  >

                Enter latitude:     <input type ="text" name="lat" id="lat" / ><br/>

                Enter longitude:    <input type ="text" name="lang"  id="lang"/ ><br/>

                Enter Zoom level:   <input type ="text" name="zoom"  id="zoom"/ ><br/>

                                    <input type="button" value ="dynamic_ display" onclick=" initialize(
                                    document.getElementById('lat').value,

                                    document.getElementById('lang').value,

                                    document.getElementById('zoom').value)"/>
                                    <input type="button" onclick=" initialize(32,72,6)" value="Manual_display"/>

                </form>

                                <center><div id="googleMap"  style="width:1000px;height:500px;"></div></center>

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

  1. 有一个拼写错误<srcipt>
  2. 对我来说,这些值可以在函数内部访问。由于你没有发布功能代码,我认为这是一个类型错误。预计至少zoom类型为数字,但输入值始终为字符串类型。 在使用之前,请使用Number将其转换为数字。