我是Angular的新手,我正在尝试使用它来集成google maps:https://github.com/allenhwkim/angularjs-google-maps

我遇到的问题是当我尝试使用NgMap.getMap()获取地图实例时,当我console.log NgMap.getMap时,我正在获取“找不到地图”。这是我的代码的样子:

partials / home.html:

<h1>practice locater</h1>
<ng-map id="map" center="[40.74, -74.18]"></ng-map>


Javascript:

var app = angular.module('RIThym',['ngResource','ngRoute','ngMap']);

app.config(['$routeProvider', function($routeProvider){
    $routeProvider
    .when('/', {
        templateUrl: 'partials/home.html',
        controller: 'HomeCtrl'
    })
    .otherwise({
        redirectTo: '/'
    });
}]);

app.controller('HomeCtrl',['$scope','$resource', 'NgMap',
function($scope, $resource, NgMap){
    var Locations = $resource('/api/locations');
    Locations.query(function(locations){
        $scope.locations = locations;
    });

    var map = NgMap.getMap();
    console.log(map);
    NgMap.getMap().then(function(map){
        console.log(map);
    });
}]);

最佳答案

ng-map指令具有id属性时,getMap函数必须使用该id值作为其第一个参数。

的HTML

<h1>practice locater</h1>
<ng-map id="map" center="[40.74, -74.18]"></ng-map>


JS

//DO this
NgMap.getMap("map").then(function(map){
//NOT this
//NgMap.getMap().then(function(map){
    console.log(map);
});


有关更多信息,请参见NgMap Provider API Reference

08-15 21:06