我想使用angular-ui for google maps。从示例中,它传递硬编码坐标。
$scope.mapOptions = {
center: new google.maps.LatLng(35.784, -78.670),
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
然后在指令上使用它。
<div id="map_canvas" ui-map="myMap" class="map" ... ui-options="mapOptions">
</div>
但我需要将坐标作为用户位置,为此,我需要使用navigator.geolocation.getCurrentPosition()
,我在回调中得到了坐标。
我想的是:
navigator.geolocation.getCurrentPosition(function(result) {
angular.bootstrap(myElement, ['myModule']); // I need a way to inject "result" to the module
}, function(error) {
// fallback to default coordinate.
});
有什么建议吗?
答案 0 :(得分:0)
在引导之前将常量添加到模块:
angular.module('myModule', [])
.controller('MyController', function($scope, coordinates){
$scope.coordinates = coordinates;
})
navigator.geolocation.getCurrentPosition(function(result) {
angular.module('myModule').constant('coordinates', result);
angular.bootstrap(document, ['myModule']);
}, function(error) {
// fallback to default coordinate.
});