我想将谷歌初始化函数传递给纬度和经度,问题是不同的用户可能会有不同的起点,这意味着不同的位置。
我现在拥有的是:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Reminiscence Therapy</title>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>
<link rel=stylesheet
href="http://jquery.malsup.com/cycle2/demo/demo-slideshow.css">
<link rel=stylesheet href="http://fonts.googleapis.com/css?family=Acme">
<link rel=stylesheet href="http://jquery.malsup.com/cycle2/site.css">
<script>
var map;
function initialize(lat, lng) {
var mapProp = {
center : new google.maps.LatLng(lat, lng),
zoom : 18,
mapTypeId : google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
}
google.maps.event.addDomListener(window, 'load', function() {
var lat = 51.45644, lng = -0.120850;
initialize(lat, lng);
});
</script>
</head>
<body>
<h2>My day in map</h2>
<div style='float: left'>
<form name='form1' action='FriendsListServlet' method='get'>
<input type='submit' name='btnsalvar' value='Photos of the day'>
</form>
</div>
<div>
<form name='form2' action='MapServlet' method='get'>
<input type='submit' name='btnsalvar' value='My day in map'>
</form>
</div>
<br />
<div id="googleMap"></div>
<div id="myWorkContent" class="myWorkContent">
<!-- Your images over here -->
<c:forEach items="${photosName}" var="photo">
<img src='images/<c:out value="${photo}" />' style="height: 80px;" />
</c:forEach>
</div>
<script src="http://www.google-analytics.com/urchin.js"></script>
<script>
_uacct = "UA-850242-2";
urchinTracker();
</script>
</body>
</html>
问题在于功能
google.maps.event.addDomListener(window, 'load', function() {
使用值
调用initialize函数var lat = 51.45644, lng = -0.120850;
但这不是我想要的。我有一个位于此页面后面的servlet。 servlet做的是计算起点,我希望地图用作servlet计算点的中心。怎么办?
答案 0 :(得分:3)
将您的jsp代码更改为
var lat = <%= request.getAttribute("lat") %>, lng = <%= request.getAttribute("lng") %>;
在servlet中,在转发到jsp之前,需要添加
request.setAttribute("lat",<Value which you calculated>);
request.setAttribute("lng",<Value which you calculated>);
或者,如果您使用重定向到页面而不是转发,您可能希望从request.getParameter读取lat,lng。