调用getCurrentPosition 返回 Network location provider at 'https://www.googleapis.com/
时间: 2023-05-24 19:06:33 浏览: 188
getCurrentPosition 方法使用的是浏览器提供的定位服务。如果使用默认的定位服务,可能会返回 Network location provider at 'https://www.googleapis.com/'。这并不一定是错误,而是说明浏览器正在使用 Google 的定位服务来获取定位信息。
需要注意的是,如果网络连接不稳定或浏览器无法访问 Google 的定位服务,getCurrentPosition 方法可能会返回错误或超时。为了避免这种情况,可以考虑使用其他的定位方式,如 GPS 或 IP 地址定位。
相关问题
天地图HTML模板中添加地图标记图标,然后使用JavaScript代码将地图定位到当前位置 Network location provider at 'https://www.googleapis.com/' : ERR_CONNECTION_RESET.
对于HTML模板添加地图标记,可以使用以下代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>天地图添加地图标记示例</title>
</head>
<body>
<div id="map" style="width:100%;height:500px;"></div>
<script src="http://api.map.baidu.com/api?v=2.0&ak=你的百度地图密钥"></script>
<script>
var map = new BMap.Map("map");
var point = new BMap.Point(116.404, 39.915);
map.centerAndZoom(point, 15);
var marker = new BMap.Marker(point);
map.addOverlay(marker);
</script>
</body>
</html>
```
其中,由于使用了百度地图API,需要将“你的百度地图密钥”替换成自己的百度地图开发者密钥。
如果想要将地图定位到当前位置,可以使用HTML5的Geolocation API获取当前位置,然后将地图中心点设置为当前位置,如下所示:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>天地图定位到当前位置示例</title>
</head>
<body>
<div id="map" style="width:100%;height:500px;"></div>
<script src="http://api.map.baidu.com/api?v=2.0&ak=你的百度地图密钥"></script>
<script>
var map = new BMap.Map("map");
function success(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
var point = new BMap.Point(longitude, latitude);
map.centerAndZoom(point, 15);
var marker = new BMap.Marker(point);
map.addOverlay(marker);
}
function error() {
console.log("无法获取当前位置");
}
navigator.geolocation.getCurrentPosition(success, error);
</script>
</body>
</html>
```
这样,地图就会定位到当前位置,并在地图上标记出当前位置的标记点。需要注意的是,定位需要用户授权,如果用户不同意授权,则无法获取到当前位置。另外,代码中使用了console.log输出调试信息,需要在浏览器控制台中查看。
使用html实现实时获取GPS位置并每隔5秒生成完整的轨迹图的具体代码,显示轨迹图并把轨迹图保存至云端服务器:https://4147093qp2.imdo.co/upload,使用中国境内的服务商地图服务
可以使用以下代码实现: <html>
<head>
<title>实时获取GPS位置</title>
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key"></script>
<script type="text/javascript" src="https://webapi.amap.com/geolocation?v=1.4.15&key=您申请的key"></script>
</head>
<body>
<div id="container" style="width:100%; height:100%;"></div>
<script type="text/javascript">
var map = new AMap.Map('container', {
resizeEnable: true
});
var geolocation = new AMap.Geolocation({
enableHighAccuracy: true,//是否使用高精度定位,默认:true
timeout: 10000, //超过10秒后停止定位,默认:无穷大
maximumAge: 0, //定位结果缓存0毫秒,默认:0
convert: true, //自动偏移坐标,偏移后的坐标为高德坐标,默认:true
showButton: true, //显示定位按钮,默认:true
buttonPosition: 'LB', //定位按钮停靠位置,默认:'LB',左下角
buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
showMarker: true, //定位成功后在定位到的位置显示点标记,默认:true
showCircle: true, //定位成功后用圆圈表示定位精度范围,默认:true
panToLocation: true, //定位成功后将定位到的位置作为地图中心点,默认:true
zoomToAccuracy:true //定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
});
map.addControl(geolocation);
geolocation.getCurrentPosition();
AMap.event.addListener(geolocation, 'complete', onComplete);
function onComplete (data){
// 定时获取GPS位置
function getCurrentPosition(){
geolocation.getCurrentPosition();
}
setInterval(getCurrentPosition, 5000);
// 将定位得到的轨迹点上传至云端服务器
var trackPoints = data.position;
var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://4147093qp2.imdo.co/upload', true);
xhr.send(trackPoints);
// 绘制轨迹
var polyline = new AMap.Polyline({
path: trackPoints,
strokeColor: '#FF0000',
strokeWeight: 2,
});
map.add(polyline);
}
AMap.event.addListener(geolocation, 'error', onError);
//解析定位错误信息
function onError(data) {
document.getElementById('status').innerHTML='定位失败';
}
</script>
</body>
</html>