我使用 html5 geolocation api 创建了这个片段。如果用户允许并显示 lat,lng{{lat}}
我不明白为什么 lat 只在第二次点击时显示。我以为 showPosition() 已经触发了?您可以在第一次单击时看到它显示在控制台中。
HTML:
<body ng-controller="MainCtrl">
{{lat}}
<button ng-click="getLocation()">Click</button>
</body>
JS:
app.controller('MainCtrl', function($scope) {
$scope.getLocation = function() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
alert("Geolocation is not supported by this browser.");
}
}
function showPosition(position) {
$scope.lat = "Latitude: " + position.coords.latitude;
$scope.lng = "Longitude: " + position.coords.longitude;
console.log($scope.lat);
}
});