Javascript从函数变量中的另一个页面加载数据

时间:2015-04-21 07:11:04

标签: javascript jquery html google-maps jsp

我正在研究谷歌地图移动标记(多个标记)。我正在使用这个功能来显示标记。

 setInterval(
 function addMarker() 
 {
 <%=arackoord%>
 }
 ,1000);

&LT;%= arackoord%GT;与此返回的页面相同:

 var marker = new google.maps.Marker(
 {position: new google.maps.LatLng(36.858231, 30.746574),
 map: map}); markers.push(marker); 

SeInterval无效,因为在同一页面中,arackoord不会自行更新。所以我做了另一个页面,其中显示了相同的输出(没有div,没有html标签):

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);

我在想如果我更改arackoord以从页面加载数据,标记就可以移动。

我应该写些什么来代替arackoord? 如何使其有效?

Ps:页面名称:move.jsp

最诚挚的问候,

1 个答案:

答案 0 :(得分:1)

前端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的一个例子(没有测试)

<%@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();
%>

演示: http://jsfiddle.net/4x4s5omk/2/