【问题标题】:Angular-google-maps: How to set current user's position on load map?Angular-google-maps:如何在加载地图上设置当前用户的位置?
【发布时间】:2016-04-16 06:35:45
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: javascript angularjs google-maps ionic-framework angular-google-maps


    【解决方案1】:

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

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

    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;
    };
    

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

    【讨论】:

      猜你喜欢
      • 2013-06-27
      • 2015-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-27
      • 2015-06-11
      相关资源
      最近更新 更多