gpt4 book ai didi

angularjs - Angular 谷歌地图标记未显示

转载 作者:行者123 更新时间:2023-12-03 06:49:28 25 4
gpt4 key购买 nike

所以我正在使用 angular-google-maps 指令 http://angular-ui.github.io/angular-google-maps/#!/api我无法在 map 实例上看到我的标记。我已经尝试了几乎所有方法,并且迫切需要建议。我尝试将 $scope.markers 移动到我的 $scope.map 对象,尝试将其移动到我的 $watch 函数中,并将值直接添加到 html 中,但没有成功。我认为这与我必须添加的 $scope.control.refresh() 函数有关,以便 map 完全加载到选项卡内(我正在使用 Angular-bootstrap 选项卡)。

感谢您的帮助!

HTML

   <div ng-controller="LocationCtrl" ng-cloak>
<div class="map-canvas" ng-if="locationActive">
<ui-gmap-google-map draggable="true" center='map.center' zoom='map.zoom' control="control">
<ui-gmap-marker coords="markers.coords" idKey="markers.idKey">
</ui-gmap-marker>
</ui-gmap-google-map>
</div>
</div>

JavaScript

(function() {
'use strict';

var locationCtrl = function($scope, uiGmapIsReady, $timeout) {
$scope.map = {
center: { latitude: 36.132411, longitude: -80.290481 },
zoom: 15
};

$scope.control = {};

$scope.active = $scope.$parent.active;
$scope.locationActive = $scope.active().active;
$scope.$watch($scope.active, function() {
$timeout(function() {
uiGmapIsReady.promise().then(function () {
$scope.control.refresh();
var map = $scope.control.getGMap();
$scope.markers= {
idKey: 1,
coords: {
latitude: 36.132411,
longitude: -80.290481
}
};
});
}, 0);
});
};
angular.module('boltlandApp').controller('LocationCtrl', locationCtrl);
})();

最佳答案

添加到您的 HTML 中:

<ui-gmap-markers models="markers" coords="'coords'" idKey="'idKey'">
</ui-gmap-markers>

Javascript:

将其添加到您的$scope.$watch($scope.active, function() {

uiGmapIsReady.promise().then(function () {
$scope.markers.push({
idKey: 1,
coords: {
latitude: 36.132411,
longitude: -80.290481
},
});

关于angularjs - Angular 谷歌地图标记未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28113659/

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