Google地图设置超时更新坐标jquery javascript
因此,我试图每五秒钟更新一次标记/用户位置,以便用户能够实时更新他们的位置。我可以获得当前位置和坐标,以正确的间隔进行更新,但我希望谷歌地图上的标记进行更新,我不知道在谷歌地图代码中我的坐标放在哪里才能进行实时更新Google地图设置超时更新坐标jquery javascript,javascript,jquery,google-maps,Javascript,Jquery,Google Maps,因此,我试图每五秒钟更新一次标记/用户位置,以便用户能够实时更新他们的位置。我可以获得当前位置和坐标,以正确的间隔进行更新,但我希望谷歌地图上的标记进行更新,我不知道在谷歌地图代码中我的坐标放在哪里才能进行实时更新 var x=document.getElementById("demo"); function startGeolocation() { var options; navigator.geolocation.getCurrentPositio
var x=document.getElementById("demo");
function startGeolocation() {
var options;
navigator.geolocation.getCurrentPosition(geoSuccess, options);
setTimeout(startGeolocation, 1000);
}
function geoSuccess(position) {
var gpsPosition = position;
var coordinates = gpsPosition.coords;
myLat = coordinates.latitude;
myLong = coordinates.longitude;
//x.innerHTML="Latitude: " + myLat +
//"<br>Longitude: " + myLong;
}
var map;
function initialize() {
var mapOptions = {
zoom: 18,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
// Try HTML5 geolocation
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position, options) {
//trying to pass in myLat and myLong from the live update above
var pos = new google.maps.LatLng(position.coords.myLat,
position.coords.myLong);
var infowindow = new google.maps.InfoWindow({
map: map,
position: pos,
content: 'You are here'
});
map.setCenter(pos);
}, function() {
handleNoGeolocation(true);
});
} else {
// Browser doesn't support Geolocation
handleNoGeolocation(false);
}
}
function handleNoGeolocation(errorFlag) {
if (errorFlag) {
var content = 'Error: The Geolocation service failed.';
} else {
var content = 'Error: Your browser doesn\'t support geolocation.';
}
var options = {
map: map,
position: new google.maps.LatLng(60, 105),
content: content
};
var infowindow = new google.maps.InfoWindow(options);
map.setCenter(options.position);
}
google.maps.event.addDomListener(window, 'load', initialize);
var x=document.getElementById(“演示”);
函数startGeolocation(){
var期权;
navigator.geolocation.getCurrentPosition(geoSuccess,选项);
setTimeout(startGeolocation,1000);
}
功能geosucces(位置){
var gpsPosition=位置;
变量坐标=gpsPosition.coords;
myLat=坐标。纬度;
myLong=坐标。经度;
//x、 innerHTML=“纬度:”+myLat+
//经度:“+myLong;
}
var映射;
函数初始化(){
变量映射选项={
缩放:18,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=new google.maps.map(document.getElementById('map-canvas'),
地图选项);
//试试HTML5地理定位
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(函数(位置,选项){
//正在尝试从上面的实时更新中传入myLat和myLong
var pos=new google.maps.LatLng(position.coords.myLat,
位置:coords.myLong);
var infowindow=new google.maps.infowindow({
地图:地图,
职位:pos,,
内容:“你在这里”
});
地图设置中心(pos);
},函数(){
手持导航(真);
});
}否则{
//浏览器不支持地理位置
手动定位(假);
}
}
函数handleNogeLocation(errorFlag){
如果(错误标志){
var content='错误:地理位置服务失败';
}否则{
var content='错误:您的浏览器不支持地理位置';
}
变量选项={
地图:地图,
职位:新google.maps.LatLng(60105),
内容:内容
};
var infowindow=new google.maps.infowindow(选项);
地图设置中心(选项位置);
}
google.maps.event.addDomListener(窗口“加载”,初始化);
您使用了错误的功能。您应该使用setInterval()强>
setTimeout(表达式,timeout);在超时后运行代码/函数一次
setInterval(表达式,超时);以间隔运行代码/函数,间隔时间为超时时间长度
谢谢,但这并不能解决我应该在谷歌地图Javascript代码中输入坐标的问题,有人知道吗?