随附的HTML在Chrome和Mozzilla浏览器中可以非常快速地呈现。如果我尝试在IE11中加载它,则会遇到一些超时错误,并且30秒后,地图最终呈现出来。

我已经尝试了IE11中的各种设置,但是没有运气。当我在调试器模式下使用开发人员工具运行时。我得到错误
InvalidValueError:以下函数中不是字符串3次

function wf(a,b){return function(c){if(a(c))return c;throw qf(b||""+c);}}function xf(a){var b=arguments;return function(a){for(var d=[],e=0,f=b[H];e<f;++e){var g=b[e];try{(g.Ff||g)(a)}catch(h){if(!(h instanceof pf))throw h;d[F](h.message);continue}return(g.then||g)(a)}throw qf(d[rd]("; and "));}}function yf(a,b){return function(c){return b(a(c))}}function zf(a){return function(b){return null==b?b:a(b)}}function Af(a){return function(b){if(b&&null!=b[a])return b;throw qf("no "+a+" property");}}


在按F5继续三倍后,MAP最终呈现。

这是HTML。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
 Copyright 2010 Google Inc.
 Licensed under the Apache License, Version 2.0:
 http://www.apache.org/licenses/LICENSE-2.0
 -->
<!-- saved from url=(0016)http://localhost -->
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>Google Maps JavaScript API v3 Example: Optimized Directions</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
  var directionDisplay;
  var directionsService = new google.maps.DirectionsService();
  var map;
  var origin = " 1837 N. Kinser Pike, Bloomington, IN 47404 ";
  var destination = " 520 W NORTHLANE DR, BLOOMINGTON IN 47404 ";
  var waypoints = [];
  var markers = [];
  var directionsVisible = false;

  function initialize() {
    directionsDisplay = new google.maps.DirectionsRenderer();
    var store = new google.maps.LatLng(35.930251, -86.824265);
    var myOptions = {
      zoom:14,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      center: store,
      panControl: true,
      zoomControl: true,
      scaleControl: true
    }
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    directionsDisplay.setMap(map);
    directionsDisplay.setPanel(document.getElementById("directionsPanel"));
    calcRoute();
  }

  function addMarker(latlng) {
    markers.push(new google.maps.Marker({
      position: latlng,
      map: map,
      icon: "http://maps.google.com/mapfiles/marker" + String.fromCharCode(markers.length + 65) + ".png"
    }));
  }

  function calcRoute() {
    if (origin == null) {
      alert("Click on the map to add a start point");
      return;
    }

    if (destination == null) {
      alert("Click on the map to add an end point");
      return;
    }

    var request = {
        origin: origin,
        destination: destination,
        waypoints: waypoints,
        travelMode: google.maps.DirectionsTravelMode.DRIVING,
        optimizeWaypoints: true,
        avoidHighways: true,
        avoidTolls: true
    };
    directionsService.route(request, function(directionsresult, status) {
      if (status == google.maps.DirectionsStatus.OK) {
        directionsDisplay.setDirections(directionsresult);
      }
    });
    directionsVisible = true;
  }

  function updateMode() {
    if (directionsVisible) {
      calcRoute();
    }
  }

  function printTextDirections() {
    for (var i = 0; i < directionsresult.routes.length; i++) {
      for (var j = 0; j < directionsresult[i].legs.length; j++) {
        alert(directionsresult.routes[i].legs[j]);
      }
    }
  }

</script>
</head>
<body onload="initialize()" style="font-family: sans-serif;">
   <div id='map_canvas' style='width: 65%; height: 580px; float:left; border: 1px solid black;'></div>
   <div id='directionsPanel' style='width: 30%; height:580px; float:right; border; 1px solid black;'></div>
</body>
</html>

最佳答案

我在3.19中指定了Google地图版本,问题已解决。

<script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3.19"></script>


由于没有指定版本,因此我正在获取实验版本。

07-28 05:08