Winforms ';谷歌';是IE11中未定义的错误
我使用下面的html代码在我的WinForms应用程序的WebBrowser中使用google地图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%; }
<!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()。