Google Map API TypeError:此[Dc]不是函数

时间:2015-09-03 07:50:47

标签: google-maps-api-3

我跟随Google Maps tutorial并收到此错误

TypeError: this[Dc] is not a function
    at Object.yl [as Map] (main.js:57)
    at core.util.js:49
    at ionic.bundle.js:48811
    at Object.ionic.Platform.ready (ionic.bundle.js:2122)
    at Object.self.ready (ionic.bundle.js:48809)
    at Object.self.loadMap (core.util.js:47)
    at eventDetail.controller.js:598
    at processQueue (ionic.bundle.js:23394)
    at ionic.bundle.js:23410
    at Scope.$eval (ionic.bundle.js:24673)

这是我的代码示例

  // src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"
  loadMap: function(location, domId) {
    var lat, lon, mapCanvas, options;
    if (domId == null) {
      domId = 'map-canvas';
    }
    lat = location[0], lon = location[1];
    mapCanvas = document.getElementById(domId);
    options = {
      center: new google.maps.LatLng(lat, lon),
      zoom: 8,
      mapTypeid: google.maps.MapTypeId.ROADMAP
    };
    return $ionicPlatform.ready(function() {
      var map;
      return map = google.maps.Map(mapCanvas, options);
    });

我已逐步完成代码并确认domElement可用。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您的代码中有拼写错误。您在new之前错过了google.maps.Map

实际上你有两个,javascript是区分大小写的,但第二个没有引起问题:

mapTypeid: google.maps.MapTypeId.ROADMAP

应该是:

mapTypeId: google.maps.MapTypeId.ROADMAP

Proof of concept fiddle

代码段



function loadMap(location, domId) {
  var lat, lon, mapCanvas, options;
  if (domId == null) {
    domId = 'map-canvas';
  }
  lat = location[0], lon = location[1];
  mapCanvas = document.getElementById(domId);
  options = {
    center: new google.maps.LatLng(lat, lon),
    zoom: 8,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(mapCanvas, options);
}
google.maps.event.addDomListener(window, 'load', function() {
  loadMap([42, -72], "map");

});

#map {
  width: 500px;
  height: 400px;
}

<script src="https://maps.googleapis.com/maps/api/js"></script>
<div id="map"></div>
&#13;
&#13;
&#13;