首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Google地图未第二次渲染

Google地图未第二次渲染
EN

Stack Overflow用户
提问于 2016-04-26 15:33:54
回答 1查看 1.1K关注 0票数 1

我正在使用控制器在我的应用程序中显示google地图。当我第一次加载页面时,地图呈现正确。但当我第二次尝试时,地图无法加载。它显示为灰色区域。我尝试了不同的解决方案,比如触发调整大小事件。但没那么走运。

这是控制器中的initializeMap()

代码语言:javascript
运行
复制
                $scope.initializeMap = function() {

                    var mapOptions = {
                        zoom : 4,
                        center : new google.maps.LatLng($scope.latitude,
                                $scope.longitude),

                        mapTypeId : google.maps.MapTypeId.ROADMAP
                    }

                    var mapsss = document.getElementById('map');

                    $scope.map = new google.maps.Map(mapsss, mapOptions);

                    $scope.markers = [];

                    var infoWindow = new google.maps.InfoWindow();

                    var createMarker = function(info) {

                        var marker = new google.maps.Marker({
                            map : $scope.map,
                            position : new google.maps.LatLng(
                                    info.latitude, info.longitude),
                            title : info.name,
                            icon : info.icon
                        });
                        marker.content = '';

                        google.maps.event.addListener(marker, 'click',
                                function() {
                                    infoWindow.setContent('<h2>'
                                            + marker.title + '</h2>');
                                    infoWindow.open($scope.map, marker);
                                });

                        $scope.markers.push(marker);

                    }

                    for (i = 0; i < $scope.locations.length; i++) {

                        createMarker($scope.locations[i]);
                    }

                    $scope.openInfoWindow = function(e, selectedMarker) {
                        e.preventDefault();
                        google.maps.event.trigger(selectedMarker, 'click');
                    }

                    google.maps.event.trigger($scope.map, 'resize');
                    var myLatlng = new google.maps.LatLng(34.310774,
                            66.225586);
                    $scope.map.setCenter(myLatlng);

                }

            });

我不知道问题出在哪里。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2016-04-26 16:11:26

最后,我自己找到了解决方案:)这看起来像是maps api的一个问题或行为,在div被隐藏的情况下,它不能正确地呈现地图。因此,我删除了div中的ng-show,它起作用了!正确地渲染了地图。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36858228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档