我正在研究谷歌地图移动标记(多个标记)。我正在使用这个功能来显示标记。
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
最诚挚的问候,
答案 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();
%>