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 具有纬度和经度的位置对象。从那里您可以将用户的纬度和经度传递给您的地图配置对象。如果您需要更多详细信息,地理定位插件有很好的文档。
我正在使用 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 具有纬度和经度的位置对象。从那里您可以将用户的纬度和经度传递给您的地图配置对象。如果您需要更多详细信息,地理定位插件有很好的文档。