我开始通过后端服务器通过 ServerVariables["HTTP_CF_IPCOUNTRY"]
使用 get,但它太慢了,为此我需要一个 Angular 或 TypeScript 解决方案。
最佳答案
如果你想从前端获取位置,我们可以通过javascript简单地获取位置
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
这将要求用户从浏览器共享位置,然后就完成了。
在 Angular 2 Component 实现 OnInit 中,将该代码放在 ngOnInit 中
import { Component, OnInit } from '@angular/core';
export class LocationComponent implements OnInit {
ngOnInit(){
if(window.navigator.geolocation){
window.navigator.geolocation.getCurrentPosition(this.setPosition.bind(this));
};
}
}
}
关于angular - 如何使用 Angular 2 或 TypeScript 获取访问者位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43088193/