谷歌地图没有正确重新加载,angularjs

时间:2014-12-02 21:29:17

标签: angularjs google-maps google-maps-api-3

您好我的问题是angularjs和谷歌地图。首次加载html代码时,我可以使用地图中的标记加载没有错误的地图。当我点击一个按钮显示带有传递地址的地图时。我知道它会创建正确的坐标,当地图以模态呈现时会出现问题。

以下是我遇到https://github.com/angular-ui/angular-google-maps/issues/1的问题的github链接 我也在那里发布了。

我正在使用谷歌地图的github angularjs:https://angular-ui.github.io/angular-google-maps/#!/

这是我的地图javascript代码

      $scope.map =
     {
         center:
         {
              latitude: 6, longitude: 6
         },
          zoom: 8
     };
     $scope.lostPetCoordinates =
     {
         point:
         {
             latitude: 6,
             longitude:6
         }
     };
      $scope.viewOnMap = function(lastKnowLocation, index)
     {
         $scope.viewPost = $scope.postLostAnimals[index];
         var geocoder;
         $scope.showMap = true;

    geocoder = new google.maps.Geocoder();

    var connectMap = angular.element(document.getElementById('lostPetMap'));

    console.log(connectMap);

    geocoder.geocode({ 'address': lastKnowLocation },
        function (results, status)
        {
            if (status == google.maps.GeocoderStatus.OK)
            {


                $scope.map.center.latitude = results[0].geometry.location.B;
                $scope.map.center.longitude = results[0].geometry.location.k;

                $scope.lostPetCoordinates.point.latitude = results[0].geometry.location.B;
                $scope.lostPetCoordinates.point.longitude = results[0].geometry.location.k;

               }
           }
       );
   };

这是我的html代码全部用于我的谷歌地图,这是另一个以模态方式呈现的指令

      <div ng-if="showMap">

                     <ui-gmap-google-map id="lostPetMap" center="map.center" zoom="map.zoom" refresh='true'>

                         <ui-gmap-marker  coords='lostPetCoordinates.point' idkey="true">

                         </ui-gmap-marker>

                    </ui-gmap-google-map>
                </div>

            </div>

如果我在if语句中放入GoogleMaps.map然后它会抛出错误,我可以显示地图的顶角,这就是java脚本代码中的一个奇怪的注释。

我已经有一段时间了,我很感谢帮助,提前谢谢你。

0 个答案:

没有答案