Angular-google-maps: 如何设置当前用户在加载地图上的位置?

Angular-google-maps: How to set current user's position on load map?

我正在使用 http://angular-google-maps.org/ 和 IONIC 框架。

我是这样手动设置中心的:

.controller('mainCtrl', function($scope) {
        $scope.map = {
          center: {
            latitude: 51.219053,
            longitude: 4.404418
          },
        ...

我正在尝试在加载地图时使用 Angular-google-maps 设置用户位置。

我还必须在 config() 中创建新函数吗?因为我想要 运行 个。

要设置用户的位置,您首先需要知道他们在哪里。为此,您需要询问他们的位置,以便获得他们的纬度和经度。

我使用这个插件来提示和获取用户的位置。

https://github.com/ionberry/cordova-plugin-geolocation-ios9-fix

获得他们的纬度和经度后,您可以将地图的中心设置为用户的位置。如果您选择显示标记,它们将以用户当前所在的位置为中心。

使用上面的插件获取用户的位置:

var positionOptions = {
    timeout: 10000,
    enableHighAccuracy: true
};

var getPosition = function() {

    var q = $q.defer();

    $ionicPlatform.ready().then(
        function() {
            $cordovaGeolocation.getCurrentPosition(positionOptions).then(
                function(position) {
                    q.resolve(position);
                }, function(error) {
                    q.reject(error);
                }
            );
        }
    );

    return q.promise;
};

这将 return 具有纬度和经度的位置对象。从那里您可以将用户的纬度和经度传递给您的地图配置对象。如果您需要更多详细信息,地理定位插件有很好的文档。