2013-04-20 58 views
0

我想使用asp.net将Google地图添加到我的网页。使用Google地图下方给出的代码显示几毫秒,然后消失。我检查了控制台中的元素,并显示以下消息 - “未捕获类型错误:无法读取null属性'样式'。请指导我找到解决此问题的方法。添加谷歌地图“未捕获类型错误:无法读取属性”样式“的空”

<script type="text/javascript"> 
      var directionsDisplay; 
      var directionsService = new google.maps.DirectionsService(); 

      function initialize() { 
       directionsDisplay = new google.maps.DirectionsRenderer(); 
       var mapOptions = { 
        zoom: 7, 
        mapTypeId: google.maps.MapTypeId.ROADMAP, 
        center: new google.maps.LatLng(41.850033, -87.6500523) 
       }; 
       var map = new google.maps.Map(document.getElementById('map-canvas'), 
      mapOptions); 
       directionsDisplay.setMap(map); 
       directionsDisplay.setPanel(document.getElementById('directions-panel')); 

       var control = document.getElementById('control'); 
       control.style.display = 'block'; 

    Uncaught TypeError: Cannot read property 'style' of null 




       map.controls[google.maps.ControlPosition.TOP_CENTER].push(control); 
      } 

      function calcRoute() { 
       var start = document.getElementById('start').value; 
       var end = document.getElementById('end').value; 
       var request = { 
        origin: start, 
        destination: end, 
        travelMode: google.maps.TravelMode.DRIVING 
       }; 
       directionsService.route(request, function (response, status) { 
        if (status == google.maps.DirectionsStatus.OK) { 
         directionsDisplay.setDirections(response); 
        } 
       }); 
      } 

      google.maps.event.addDomListener(window, 'load', initialize); 

     </script> 
+0

难道不明显吗?它说'control'变量为空 – 2013-04-20 12:01:34

回答

0

如果页面不存在控制元件,返回功能if (control===null) return;

0

元素与ID control丢失。行后:

var control = document.getElementById('control'); 

变量control了价值null正因为这样的下一行

control.style.display = 'block'; 

产生错误:

Uncaught TypeError: Cannot read property 'style' of null 

为了解决这个问题,你有新的元素添加到您的页面,编号为control,如:

<div id="control"></div> 

如果要将自定义控件添加到Google地图,请检查文档Controls

相关问题