Angularjs ngCordova getCurrentLocation导致谷歌地图空白
我知道有很多支持论坛,但似乎没有人完全知道我在寻找的答案。下面是我的场景(我在爱奥尼亚框架中开发) 我正在使用ngCordova cordova插件地理位置获取我的当前位置(这很好): 我已通过上述代码验证vars lat、lng的填充值是否正确。所以,下一步我要做的是显示我的谷歌地图,我通过下面的initMap函数来实现:Angularjs ngCordova getCurrentLocation导致谷歌地图空白,angularjs,cordova,ionic-framework,google-geolocation,Angularjs,Cordova,Ionic Framework,Google Geolocation,我知道有很多支持论坛,但似乎没有人完全知道我在寻找的答案。下面是我的场景(我在爱奥尼亚框架中开发) 我正在使用ngCordova cordova插件地理位置获取我的当前位置(这很好): 我已通过上述代码验证vars lat、lng的填充值是否正确。所以,下一步我要做的是显示我的谷歌地图,我通过下面的initMap函数来实现: function initMap(origin){ var mapOptions = { center: origin, zoom: 16, }; $scope.m
function initMap(origin){
var mapOptions = {
center: origin,
zoom: 16,
};
$scope.map=new google.maps.Map(document.getElementById("map"),mapOptions);}
当我试图渲染此图像时,我只收到一个空白屏幕。另外,我还有“ionic.Platform.ready(initialize);”在我的控制器代码中
注意:下面是我的html模板中的代码段:
<div id="map" ng-controller="MapCtrl">
</div>
一些失败的编码尝试包括:
任何建议都将受到赞赏。因此,我最初的逻辑问题是执行getCurrentPosition是一个异步调用,这意味着它将在DOM完全加载后接收数据。因此,为了解决这个问题,我使用$q.defer()创建了一个promise对象,以便以后访问。有关如何做到这一点的更多信息,请访问我发布到的另一个论坛:
祝你好运和快乐 这应该对你有帮助这是我使用过的链接之一…这对我没有帮助,因为$cordovaGeolocation.getCurrentPosition()在这个例子中没有使用。如果不使用getCurrentPosition()函数,我可以实现这一点。仅供参考,我已将此问题更详细地发布到另一个论坛:你是否解决了这个问题?我今天早上才发现……它需要使用$q.defer来承诺获取数据并异步返回数据。如果你感兴趣的话,我会把这个作为答案贴在这里!
<div id="map" ng-controller="MapCtrl">
</div>