我希望我的项目具有this功能。
我正在尝试提供功能,Onbutton单击,我从MySQL获取坐标数据到一个数组,然后将此数组放到文本框的值,以便JavaScript读取此值。但是当我将var坐标值设置为折线时,它显示为空白,当我从文本框中复制相同的值并将其设置为相同的var时,它将起作用。
Java代码:
try {
Connection.getConnection();
java.sql.PreparedStatement preparedStatement = Connection.con
.prepareStatement("select * from co_ordinates_data");
resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
latitude.add(resultSet.getDouble("latitude"));
longitude.add(resultSet.getDouble("longitude"));
latlong.add("new google.maps.LatLng("
+ resultSet.getDouble("latitude") + ","
+ resultSet.getDouble("longitude") + ")");
}
size = latitude.size();
} catch (Exception e) {
System.out.println("path exception " + e.toString());
}
return "execute";
//textbox
<input type="text" id="latlng" value="<s:property value="latlong"/>"
here is my js code:
function initialize() {
var myLatLng = new google.maps.LatLng(28.493729, 77.09255);
var mapOptions = {
zoom : 8,
center : myLatLng,
mapTypeId : google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
var cordinates = document.getElementById("latlng").value;
var flightPlanCoordinates = [cordinates ];
var flightPath = new google.maps.Polyline({
path : flightPlanCoordinates,
strokeColor : "#FF0000",
strokeOpacity : 1.0,
strokeWeight : 2
});
flightPath.setMap(map);
}
答案 0 :(得分:0)
可能问题在于,当您运行initialize()
Javascript函数时,页面未完全加载,并且尚未呈现包含您的坐标的<input />
元素;
尝试从javascript控制台调用initialize()
(在Firefox中, CTRL + SHIFT + K ),看看是否有的工作原理。
您需要在jQuery
$(document).ready()
函数(more info here)中附加对您的javascript的调用,或者将您的javascript函数移出{ {1}}部分,将其放在<head>
部分的末尾(不推荐)。
示例:
<body>