Winforms ';谷歌';是IE11中未定义的错误

Winforms ';谷歌';是IE11中未定义的错误,winforms,google-maps,google-maps-api-3,Winforms,Google Maps,Google Maps Api 3,我使用下面的html代码在我的WinForms应用程序的WebBrowser中使用google地图 <!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <style> #map { height: 600px; width: 100%; }

我使用下面的html代码在我的WinForms应用程序的WebBrowser中使用google地图

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <style>
      #map {
        height: 600px;
        width: 100%;
       }
    </style>
  </head>
  <body>
    <div id="map"></div>
    <script>
      var map;
      var prevLat = 0;
      var prevLon = 0;

      function initMap() {
        var centerPoint = {lat: 12.9716, lng: 77.5946};
        map = new google.maps.Map(document.getElementById('map'), {
          zoom: 15,
          center: centerPoint
        });
      }

      function AddPoint(latitude, longitude, heading, fixTypeColor, portNumber){

                if(prevLat == 0 && prevLon == 0)
                {               
                    var Coordinates = [
                    {lat: latitude, lng: longitude}
                    ];
                }
                else
                {
                    var Coordinates = [
                    {lat: prevLat, lng: prevLon},
                    {lat: latitude, lng: longitude}
                    ];
                }

                prevLat = latitude;
                prevLon = longitude;

                var newPoint = {lat: latitude, lng: longitude};

                var lineSymbol = {
                path: google.maps.SymbolPath.FORWARD_OPEN_ARROW,
                rotation: heading
                };

                var polyLine = new google.maps.Polyline({
                    map: map,
                    path: Coordinates,
                    icons: [{
                        icon: lineSymbol,
                        fixedRotation: true,
                        offset: '100%'
                    }],
                    geodesic: true,
                    strokeColor: fixTypeColor,
                    strokeOpacity: 1.0,
                    strokeWeight: 2
                    });

                map.panTo(newPoint);
          }

    </script>
    <script async defer
    src="https://maps.googleapis.com/maps/api/js?key=my_key&callback=initMap">
    </script>
  </body>
</html>

#地图{
高度:600px;
宽度:100%;
}
var映射;
var-prevLat=0;
var-prevLon=0;
函数initMap(){
var centerPoint={lat:12.9716,lng:77.5946};
map=new google.maps.map(document.getElementById('map'){
缩放:15,
中心:中心点
});
}
函数添加点(纬度、经度、标题、fixTypeColor、端口号){
if(prevLat==0&&prevLon==0)
{               
变量坐标=[
{纬度,经度}
];
}
其他的
{
变量坐标=[
{lat:prevLat,lng:prevLon},
{纬度,经度}
];
}
prevLat=纬度;
普雷夫隆=经度;
var newPoint={lat:纬度,lng:经度};
变量lineSymbol={
路径:google.maps.SymbolPath.FORWARD\u OPEN\u箭头,
轮调:航向
};
var polyLine=新的google.maps.polyLine({
地图:地图,
路径:坐标,
图标:[{
图标:lineSymbol,
固定旋转:对,
抵销:“100%”
}],
测地线:正确,
strokeColor:fixTypeColor,
笔划不透明度:1.0,
冲程重量:2
});
panTo地图(新点);
}
启动WebBrowser时,出现以下错误:

电话号码:48 字符:5 错误:“google”未定义 代码:0

但是,在我针对此异常单击“是”后,映射工作正常

请帮助我修复此异常


另外,我已经在这里用“我的密钥”替换了Google Maps JavaScript API密钥。

我在IE11中没有看到任何错误以及发布的代码。您好@geocodezip,我在第一次调用函数AddPoint()时遇到了异常。单击“确定”后,异常将不再出现。发布的代码不会调用
AddPoint
函数。请提供一个例子来说明这个问题。@geocodezip:我现在可以解决这个问题了。问题的原因是在Google Maps JavaScript API完全加载之前调用了AddPoint()函数。因此,“谷歌”是一个未定义的错误。现在,我在initMap()函数的末尾设置了一个标志,只有当该标志设置为true时,我才实现AddPoint()。