1

asp.net を使用して Google マップを Web ページに追加しようとしています。Google マップの下にあるコードを使用すると、数ミリ秒間表示されてから消えます。コンソールで要素を調べたところ、「Uncaught Type Error: Cannot Read property 'style' of 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>
4

2 に答える 2

0

ID の要素controlがありません。行の後:

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

変数controlが値nullを取得したため、次の行

control.style.display = 'block';

生成されたエラー:

Uncaught TypeError: Cannot read property 'style' of null

controlこれを修正するには、次のように id を使用してページに新しい要素を追加する必要があります。

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

カスタム コントロールを Google マップに追加する場合は、ドキュメントコントロールを確認してください。

于 2014-01-17T17:58:19.440 に答える