我跟随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可用。有什么想法吗?
答案 0 :(得分:0)
您的代码中有拼写错误。您在new
之前错过了google.maps.Map
。
实际上你有两个,javascript是区分大小写的,但第二个没有引起问题:
mapTypeid: google.maps.MapTypeId.ROADMAP
应该是:
mapTypeId: google.maps.MapTypeId.ROADMAP
代码段
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;