我正在尝试创建一个谷歌地图。这张 map 应该保持居中并且永远不会移动。我正在创建实时跟踪,但跟踪遇到问题。每隔几秒钟,跟踪功能就会刷新页面。
.controller('mapCtrl', function ($scope, $ionicSideMenuDelegate, $ionicLoading, $compile, $ionicPopup, $cordovaGeolocation) {
$ionicSideMenuDelegate.canDragContent(false);
var onSuccess = function(position) {
var myLatlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
var CSUS_CENTER = (38.55914, -121.423473);
var mapOptions = {
center: CSUS_CENTER,
zoom: 16,
mapTypeId: google.maps.MapTypeId.ROADMAP,
zoomControl: true,
disableDefaultUI: true
};
var map = new google.maps.Map(document.getElementById("map"),
mapOptions);
//Marker + infowindow + angularjs compiled ng-click
var contentString = "<div><a ng-click='clickTest()'>Click me!</a></div>";
var compiled = $compile(contentString)($scope);
var infowindow = new google.maps.InfoWindow({
content: compiled[0]
});
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: 'Sac State'
});
google.maps.event.addListener(marker, 'click', function () {
infowindow.open(map, marker);
});
$scope.map = map;
$scope.map.setCenter(new google.maps.LatLng(position.coords.latitude, position.coords.longitude));
};
// onError Callback receives a PositionError object
//
function onError(error) {
alert('code: ' + error.code + '\n' +
'message: ' + error.message + '\n');
}
navigator.geolocation.watchPosition(onSuccess, onError, {maximumAge: 3000, timeout: 5000, enableHighAccuracy: true });
});
所以,我的问题是 map 每次刷新时都会重新居中,并且我想将其保持在原始纬度和经度的中心。那么另一个问题就是页面不断刷新
最佳答案
如果您只需要获取一次位置,请使用getCurrentPosition ,不是watchPosition
关于javascript - 谷歌地图地理位置刷新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33551545/