gpt4 book ai didi

javascript - 如何在不使用任何指令的情况下以 Angular 初始化谷歌地图API?

转载 作者:行者123 更新时间:2023-11-28 18:24:00 25 4
gpt4 key购买 nike

我正在尝试在我正在编写的应用程序中初始化谷歌地图,我正在使用地方 API 来实现一些运行良好的功能,现在我试图在页面上显示 map ,但 map 从未显示。当我使用以下代码时,我在控制台上没有收到任何错误。

index.html

<script src="https://maps.googleapis.com/maps/api/js?key=mykey&libraries=places"></script>

ma​​pview.html

<div ng-controller="MapViewController as mapctrl" ng-init="initialize()">
<div class="container">

<div class="row">



<div id="map"></div>

</div>

<div ui-view></div>
</div>
</div>

ma​​pViewController.js

(function(angular) {
angular.module('myapp').controller('MapViewController', ['$state','$http','$stateParams','$window','$route','$document','$localStorage','$scope','$location', function($state,$http,$stateParams,$window,$route,$document,$localStorage,$scope,$location) {

$scope.initialize = function(){
console.log("log");
var mapOptions = {
zoom: 11,
center: {lat: -34.397, lng: 150.644},
mapTypeId: google.maps.MapTypeId.ROADMAP
};

var map = new google.maps.Map(document.getElementById('map'), mapOptions);
};

}]);
})(angular)

Controller 初始化时我收到日志消息,但 map 未显示在页面上。我想知道如何在不使用任何指令的情况下使其成为可能。

最佳答案

确保在您的 html 上定义 ng-app:

<html ng-app="mapApp">
. . .
<body ng-controller="MapController" ng-init="initMap()">
<div id="map"></div>
</body>
</html>

然后在 JS 上正确初始化 map :

angular.module('mapApp', []);

angular
.module('mapApp')
.controller('MapController', MapController);

function MapController($scope){

$scope.initMap = function() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 3,
center: new google.maps.LatLng(32.483, 16.084)
});
}

}

并将高度宽度指定为您的ID:

#map{
height: 400px;
width: 700px;
border: 2px solid red;
}

在这里你可以找到A Plunker I made它在没有指令的情况下初始化 map 。

希望我对您有所帮助。

关于javascript - 如何在不使用任何指令的情况下以 Angular 初始化谷歌地图API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39469001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com