Javascript 将数据EventSource服务器发送的事件(SSE)作为另一个变量传递
我有一个网页,每X秒从数据库更新一次纬度和经度,并显示值。我正在使用服务器发送的事件来更新该值。我的服务器发送的事件没有任何问题。它可以每X秒更新页面上的纬度、经度和速度。我的问题是,我想将纬度、经度值传递给GoogleMap脚本以添加一个标记。我怎么做 示例:此脚本将从数据库中检索纬度值Javascript 将数据EventSource服务器发送的事件(SSE)作为另一个变量传递,javascript,jquery,html,Javascript,Jquery,Html,我有一个网页,每X秒从数据库更新一次纬度和经度,并显示值。我正在使用服务器发送的事件来更新该值。我的服务器发送的事件没有任何问题。它可以每X秒更新页面上的纬度、经度和速度。我的问题是,我想将纬度、经度值传递给GoogleMap脚本以添加一个标记。我怎么做 示例:此脚本将从数据库中检索纬度值 latitude.onmessage = function(e) { //document.getElementById("latitude").innerHTML += e.data + '<
latitude.onmessage = function(e) {
//document.getElementById("latitude").innerHTML += e.data + '<br />';
('#latitude').text(e.data);
};
下面是完整的代码
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<p>Example server sent event</p><br>
Latitude: <span id="latitude"></span><br>
Longitude: <span id="longitude"></span><br>
Speed: <span id="speed"></span>
<div id="map" style="width:100%;height:380px;"></div><script>
function initialize()
{
var latitude = new EventSource("<?php echo base_url() . 'sse_push/getLatitude'; ?>");
var lgt;
var lat;
latitude.onmessage = function (e) {
//document.getElementById("latitude").innerHTML += e.data + '<br />';
$('#latitude').text(e.data);
};
var longitude = new EventSource("<?php echo base_url() . 'sse_push/getLongitude'; ?>");
longitude.onmessage = function (e) {
//document.getElementById("longitude").innerHTML += e.data + '<br />';
$('#longitude').text(e.data);
};
var speed = new EventSource("<?php echo base_url() . 'sse_push/getSpeed'; ?>");
speed.onmessage = function (e) {
//document.getElementById("speed").innerHTML += e.data + '<br />';
$('#speed').text(e.data);
};
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: new google.maps.LatLng(-33.92, 151.25),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat, lgt),
map: map
});
marker.setMap(map);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</body>
</html>
服务器发送事件示例
纬度:
经度:
速度:
函数初始化()
{
var纬度=新事件源(“”);
var-lgt;
var lat;
latitude.onmessage=函数(e){
//document.getElementById(“纬度”).innerHTML+=e.data+'
';
$('纬度').text(e.data);
};
var经度=新事件源(“”);
longitude.onmessage=函数(e){
//document.getElementById(“经度”).innerHTML+=e.data+'
';
$('经度').text(e.data);
};
var speed=新事件源(“”);
speed.onmessage=函数(e){
//document.getElementById(“speed”).innerHTML+=e.data+'
';
$('速度').text(e.data);
};
var map=new google.maps.map(document.getElementById('map'){
缩放:10,
中心:新谷歌地图LatLng(-33.92151.25),
mapTypeId:google.maps.mapTypeId.ROADMAP
});
var marker=new google.maps.marker({
职位:新google.maps.LatLng(lat,lgt),
地图:地图
});
marker.setMap(map);
}
google.maps.event.addDomListener(窗口“加载”,初始化);
试试这个
latitude.onmessage = function(e) {
//document.getElementById("latitude").innerHTML += e.data + '<br />';
('#latitude').text(e.data);
sessionStorage.setItem("latitude",e.data);
};
longitude.onmessage = function(e) {
//document.getElementById("longitude").innerHTML += e.data + '<br />';
('#latitude').text(e.data);
sessionStorage.setItem("longitude",e.data);
};
var marker = new google.maps.Marker({
position: new google.maps.LatLng(sessionStorage.latitude, sessionStorage. longitude),
map: map
});
latitude.onmessage=函数(e){
//document.getElementById(“纬度”).innerHTML+=e.data+'
';
(“#纬度”)。文本(如数据);
sessionStorage.setItem(“纬度”,即数据);
};
longitude.onmessage=函数(e){
//document.getElementById(“经度”).innerHTML+=e.data+'
';
(“#纬度”)。文本(如数据);
setItem(“经度”,即数据);
};
var marker=new google.maps.marker({
位置:new google.maps.LatLng(sessionStorage.latitude,sessionStorage.longitude),
地图:地图
});
latitude.onmessage = function(e) {
//document.getElementById("latitude").innerHTML += e.data + '<br />';
('#latitude').text(e.data);
sessionStorage.setItem("latitude",e.data);
};
longitude.onmessage = function(e) {
//document.getElementById("longitude").innerHTML += e.data + '<br />';
('#latitude').text(e.data);
sessionStorage.setItem("longitude",e.data);
};
var marker = new google.maps.Marker({
position: new google.maps.LatLng(sessionStorage.latitude, sessionStorage. longitude),
map: map
});