我想使用this tutorial从我的数据库中获取的值创建一个地图。 我确信我的jsp中的值是double,但它们没有显示在我的地图中(它显示为灰色)。
这是我的jsp:
<c:if test="${tei.getLatitudine() != null}">
<span class="elemento">latitudine:</span>
<div id="latitudine">${tei.getLatitudine()}</div>
<br/></c:if>
<c:if test="${tei.getLongitudine() != null}">
<span class="elemento">longitudine:</span>
<div id="longitudine">${tei.getLongitudine()}</div>
<br/></c:if>
我正在尝试不同的方法:
function initMap() {
var latitudine = $("#latitudine").val;
var longitudine = $("#longitudine").val;
var uluru = {lat: latitudine, lng: longitudine};
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 4,
center: uluru
});
var marker = new google.maps.Marker({
position: uluru,
map: map
});
}
或:
function initMap() {
var latitudine = '${tei.getLatitudine()}';
var longitudine = '${tei.getLongitudine()}';
var uluru = {lat: latitudine, lng: longitudine};
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 4,
center: uluru
});
var marker = new google.maps.Marker({
position: uluru,
map: map
});
}
我使用它的两种或其他形式都不起作用。
EDIT1:
我的控制台中的错误是:
InvalidValueError: setCenter: not a LatLng or LatLngLiteral: in property lat: not a number _.kb @ js?key=AIzaSyCIVrSpAqIBx532NG59pY4biIuc5xQGgtA&callback=initMap:37 js?key=AIzaSyCIVrSpAqIBx532NG59pY4biIuc5xQGgtA&callback=initMap:37
InvalidValueError: setPosition: not a LatLng or LatLngLiteral: in property lat: not a number _.kb @ js?key=AIzaSyCIVrSpAqIBx532NG59pY4biIuc5xQGgtA&callback=initMap:37
但如果我在jsp中写道:
${tei.getLongitudine().getClass()}
它返回class double。
EDIT2:
如果我在我的js中写道:
var latitudine = ${tei.longitudine}
我收到此错误:
message: "initMap is not a function"
name: "InvalidValueError"
stack: "Error
at new Eb (https://maps.googleapis.com/maps/api/js?key=mykey(hidden4privacy)&callback=initMap:41:365)
at Object._.Fb (https://maps.googleapis.com/maps/api/js?key=mykey(hidden4privacy)&callback=initMap:41:475)
at Og (https://maps.googleapis.com/maps/api/js?key=mykey(hidden4privacy)&callback=initMap:96:420)
at https://maps.googleapis.com/maps/api/js?key=mykey(hidden4privacy)&callback=initMap:131:58
at Object.google.maps.Load (https://maps.googleapis.com/maps/api/js?key=mykey(hidden4privacy)&callback=initMap:21:5)
at https://maps.googleapis.com/maps/api/js?key=mykey(hidden4privacy)&callback=initMap:130:20
at https://maps.googleapis.com/maps/api/js?key=mykey(hidden4privacy)&callback=initMap:131:73"
答案 0 :(得分:0)
如果你有这样的模特;
public class MyModel{
private double longitudine;
public double getLongitudine() {
return longitudine;
}
public void setLongitudine(double longitudine) {
this.longitudine = longitudine;
}
}
并将请求或会话放入您的模型
MyModel d = new MyModel();
d.setLongitudine(24);
session.setAttribute("lng",d); // or
// request.setAttribute("lng",d);
然后你就可以在JS中使用EL来访问属性了。
function myFunction() {
var a = ${sessionScope.lng.longitudine}; /*or*/
/* var a = ${requestScope.lng.longitudine}; */
var b = a + 5;
console.log(b);
}