【发布时间】:2014-07-30 20:10:36
【问题描述】:
我的数据库中有一组数据,其中包括某些地方的纬度和经度,我想计算用户的距离并检测 5 公里内的地点,然后只将这些纬度和经度传递给 jsp 页面并找到谷歌地图相应地。
我已经完成了几乎所有的计算,但我无法将那些特定的纬度和经度从 servlet 传递到 jsp。谁能指导我。
这是我的 servlet 代码。
for (MapClass coffemap : mms)
{
double latt1=Double.parseDouble(searchlat);
double long1=Double.parseDouble(searchlon);
double latt2=Double.parseDouble(coffemap.getLati());
double long2=Double.parseDouble(coffemap.getLongi());
double theta = long1-long2;
double dist = Math.sin(deg2rad(latt1)) * Math.sin(deg2rad(latt2)) + Math.cos(deg2rad(latt1)) * Math.cos(deg2rad(latt2)) * Math.cos(deg2rad(theta));
dist = Math.acos(dist);
dist = rad2deg(dist);
dist = dist * 60 * 1.1515;
double round=Math.floor(dist * 100) / 100;
if(round<=5){
System.out.println(coffemap.getCity() +"Distance: "+round);
//how to store only these latitudes and longitudes and pass it to jsp page
}
jsp页面
<script type="text/javascript">
function load(){
var searchlat='<%= (String) request.getParameter("lat") %>';//how to get those multiple latitudes
var searchlon='<%= (String) request.getParameter("lon") %>';// how to get those multiple longitudes
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(searchlat,searchlon), 13);
mapTypeId: google.maps.MapTypeId.ROADMAP;
var point = new GLatLng(searchlat,searchlon);
map.setCenter(point, 14);
var marker = new GMarker(point);
map.addOverlay(marker);
}
}
</script>
【问题讨论】:
标签: java javascript google-maps jsp servlets