Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将值从servlet传递到GoogleMaps_Java_Javascript_Html_Google Maps_Servlets - Fatal编程技术网

Java 将值从servlet传递到GoogleMaps

Java 将值从servlet传递到GoogleMaps,java,javascript,html,google-maps,servlets,Java,Javascript,Html,Google Maps,Servlets,我想把纬度和经度传递给google初始化函数,问题是不同的用户可能有不同的起点,也就是说,不同的位置 我现在得到的是: <%@ 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

我想把纬度和经度传递给google初始化函数,问题是不同的用户可能有不同的起点,也就是说,不同的位置

我现在得到的是:

<%@ 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>
正在使用值调用初始化函数

var lat = 51.45644, lng = -0.120850;

但这不是我想要的。我在这个页面后面有一个servlet。servlet所做的是计算起点,我希望映射使用servlet计算的点作为其中心。如何做到这一点?

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

或者,如果使用重定向到页面而不是转发,则可能需要读取lat,lng from request.getParameter

thx很多,它与request.getAttribute一起工作。我花了一点时间把它标记为真的,因为我需要尝试一下。
request.setAttribute("lat",<Value which you calculated>);   
request.setAttribute("lng",<Value which you calculated>);