Javascript从函数变量内的另一页加载数据
我正在谷歌地图移动标记(多个标记)。我正在使用类似此函数的显示标记Javascript从函数变量内的另一页加载数据,javascript,jquery,html,google-maps,jsp,Javascript,Jquery,Html,Google Maps,Jsp,我正在谷歌地图移动标记(多个标记)。我正在使用类似此函数的显示标记 setInterval( function addMarker() { <%=arackoord%> } ,1000); SeInterval不工作,因为在同一页中,arackoord没有更新自身。因此,我做了另一个页面,它的输出与此完全相同(没有div,没有html标记): 我在想,若我将arackoord更改为从页面加载数据,则标记可以移动 我应该用什么来代替arackoord?怎样才能让它起作用
setInterval(
function addMarker()
{
<%=arackoord%>
}
,1000);
SeInterval不工作,因为在同一页中,arackoord没有更新自身。因此,我做了另一个页面,它的输出与此完全相同(没有div,没有html标记):
我在想,若我将arackoord更改为从页面加载数据,则标记可以移动
我应该用什么来代替arackoord?怎样才能让它起作用?
Ps:页面名称:move.jsp
致以最诚挚的问候,前端Javascript:
var map;
var lat = 36.858231 ;
var lng = 30.746574 ;
function initialize() {
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(36.858231, 30.746574)
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
setInterval(
function addMarker()
{
$.ajax({
type:'get',
url: 'location.jsp',
async: false,
dataType:'json',
success:function(data){
lat = data.lat;
lng = data.lng;
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,lng),
map: map
});
}
});
}
,1000);
后端数据:
location.jsp示例(未测试)
演示:
您想只显示一个标记,哪个位置将根据时间不断变化,还是想根据时间不断在地图上添加新标记?多个标记@Katrin@HaroldWren请不要还原社区对您的帖子所做的编辑。只有当你认为它改变了你想问的问题的含义时,你才会这样做。你是说这样的事情吗@卡特琳:是的!一样:)谢谢!我会努力的,如果我失败了,你能帮我吗?示例:我可以将数据放在哪里?我确实这样做了,但没有标记出现。Json结果正常。控制台面板(chrome inspector/firebug)中有错误消息吗?chrome说:“$.ajax({)”上的“未捕获引用错误:$未定义”错误这部分是这样说的。你是否包括jQuery?在你的前端头标签中包括以下内容,但我对此进行了评论:D所以这是有效的,谢谢:D如果你有去安塔利亚的旅行计划,请让我知道:)
var marker = new google.maps.Marker({position: new google.maps.LatLng(36.858231, 30.746574),map: map}); markers.push(marker); var marker = new google.maps.Marker({position: new google.maps.LatLng(36.860031, 30.77951),map: map}); markers.push(marker); var marker = new google.maps.Marker({position: new google.maps.LatLng(36.886429, 30.708113),map: map}); markers.push(marker); var marker = new google.maps.Marker({position: new google.maps.LatLng(36.89798, 30.690451),map: map}); markers.push(marker); var marker = new google.maps.Marker({position: new google.maps.LatLng(36.889568, 30.63323),map: map}); markers.push(marker); var marker = new google.maps.Marker({position: new google.maps.LatLng(36.878494, 30.833076),map: map}); markers.push(marker);
var map;
var lat = 36.858231 ;
var lng = 30.746574 ;
function initialize() {
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(36.858231, 30.746574)
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
setInterval(
function addMarker()
{
$.ajax({
type:'get',
url: 'location.jsp',
async: false,
dataType:'json',
success:function(data){
lat = data.lat;
lng = data.lng;
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,lng),
map: map
});
}
});
}
,1000);
<%@page contentType="text/html; charset=UTF-8"%>
<%@page import="org.json.simple.JSONObject"%>
<%
JSONObject json = new JSONObject();
// you should have some mechanism to generate the coordinate, do not use hard code value.
json.put("lat", 36.858231 );
json.put("lng", 30.746574 );
out.print(json);
out.flush();
%>