Javascript 地理定位API在我的手机上不起作用,但在桌面上起作用
我用OpenStreetMap开发了一张地图,可以确定我当前的位置。 在桌面上,一切正常,但当我切换到手机时,他并没有要求GPS许可,也无法工作 创建地图后(在手机上显示错误):Javascript 地理定位API在我的手机上不起作用,但在桌面上起作用,javascript,android,api,geolocation,gps,Javascript,Android,Api,Geolocation,Gps,我用OpenStreetMap开发了一张地图,可以确定我当前的位置。 在桌面上,一切正常,但当我切换到手机时,他并没有要求GPS许可,也无法工作 创建地图后(在手机上显示错误): 解决了,地理定位只在HTTPS上工作,我通过手机作为HTTP站点访问该站点哪个桌面,哪个手机?错误说明了什么? function init() { createMap('map'); navigator.geolocation.watchPosition(success, error, options)
解决了,地理定位只在HTTPS上工作,我通过手机作为HTTP站点访问该站点哪个桌面,哪个手机?错误说明了什么?
function init() {
createMap('map');
navigator.geolocation.watchPosition(success, error, options);
}
function createMap(id) {
map = new OpenLayers.Map(id);
map.addLayer(new OpenLayers.Layer.OSM());
}
function success(position) {
const latitude = position.coords.latitude;
const longitude = position.coords.longitude;
console.log(latitude + ', ' + longitude);
addMarker(latitude, longitude);
setCenter(latitude, longitude);
}
function setCenter(latitude, longitude) {
map.setCenter(
new OpenLayers.LonLat(longitude, latitude).transform(
new OpenLayers.Projection("EPSG:4326"),
map.getProjectionObject())
, 18
);
}
function addMarker(latitude, longitude) {
var markers = new OpenLayers.Layer.Markers("Markers");
map.addLayer(markers);
markers.addMarker(new OpenLayers.Marker(
new OpenLayers.LonLat(longitude, latitude).transform(
new OpenLayers.Projection("EPSG:4326"),
map.getProjectionObject())
));
}
function error() {
alert(`ERROR(${error.code}): ${error.message}`);
}