如何使用Ionic Framework獲取經度/緯度?在Android中有時將它作爲預期的,有時它不使用給緯度/經度如下:如何使用離子檢索經度和緯度?
navigator.geolocation.getCurrentPosition(onSuccess, onError, options);
如何使用Ionic Framework獲取經度/緯度?在Android中有時將它作爲預期的,有時它不使用給緯度/經度如下:如何使用離子檢索經度和緯度?
navigator.geolocation.getCurrentPosition(onSuccess, onError, options);
不太清楚你問在這裏,但離子不能給你geolocations,科爾多瓦但是可以。如果你想讓自己變得容易,你應該看看ngCordova,它是一個cordova插件的角度包裝。看看這裏:http://ngcordova.com/docs/plugins/geolocation/
這是一個例子,如何使用長https://github.com/apache/cordova-plugin-geolocation
.controller('MyCtrl', function($scope, $cordovaGeolocation) {
var posOptions = {timeout: 10000, enableHighAccuracy: false};
$cordovaGeolocation
.getCurrentPosition(posOptions)
.then(function (position) {
var lat = position.coords.latitude
var long = position.coords.longitude
console.log(lat + ' ' + long)
}, function(err) {
console.log(err)
});
var watchOptions = {timeout : 3000, enableHighAccuracy: false};
var watch = $cordovaGeolocation.watchPosition(watchOptions);
watch.then(
null,
function(err) {
console.log(err)
},
function(position) {
var lat = position.coords.latitude
var long = position.coords.longitude
console.log(lat + '' + long)
}
);
watch.clearWatch();
})
你也注意到posOptions和watchOptions對象,以得到緯度。我們使用超時來調整允許以毫秒傳遞的最大時間長度,並且enableHighAccuracy設置爲false。它可以設置爲true以獲得最佳結果,但有時可能會導致一些錯誤。還有maximumAge選項可用於顯示接受的舊位置。它使用毫秒,與超時選項相同。
當我們啓動我們的應用程序並打開控制檯時,它會記錄設備的經度和緯度。當我們的位置發生變化時,緯度和長度值將會改變。
您可以使用對URL API的調用返回JSON對象,然後獲取經度和緯度。以下示例調用http://freegeoip.net/json/並打印出結果。要訪問緯度和經度,您可以使用result.latitude
和result.longitude
字段。
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.getJSON("http://freegeoip.net/json/", function(result){
$.each(result, function(i, field){
$("div").append(field + " ");
});
});
});
});
</script>
</head>
<body>
<button>Get JSON data</button>
<div></div>
</body>
</html>