gpt4 book ai didi

java - 将数据从 Bean 传递到 jsf 页面上的 javascript。谷歌 API 说明

转载 作者:行者123 更新时间:2023-12-01 13:53:23 25 4
gpt4 key购买 nike

我需要将路径点传递给google maps javascript directions api从 ManagedBean 到 jsf 页面。我正在尝试制作 JSONArray 并将其传递给 jsf:

private JSONArray routesJSON;

带有 getter 和 setter。

比我创建 JSON :在循环中,我将带有路径点 LatLang 的字符串添加到 List<String>

routes.add("new google.maps.LatLng(" + o.getLatitude() + "," + o.getLongitude()+")");

我正在获取 JSON:

[{"location":"new google.maps.LatLng(50.495121,22.1705)"},{"location":"new google.maps.LatLng(50.57082,22.06813)"},{"location":"new google.maps.LatLng(50.570549,22.047871)"},{"location":"new google.maps.LatLng(50.521389,21.912695)"},{"location":"new google.maps.LatLng(50.495121,22.1705)"}]

来自:

for()
array.put(obj);
}
System.out.println(array);

在 JSF 函数中显示路线:(它适用于硬编码数据)

function calcRoute() {

var waypts = [];
var start = new google.maps.LatLng(#{someBean.startLatitude}, #{someBean.startLongitude});
var end = new google.maps.LatLng(49.712112, 21.50667);
var way = #{someBean.routesJSON};
var request = {
origin:start,
destination:end,
optimizeWaypoints: true,
waypoints:way;
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
}
});
}

但是当我显示该页面 map 时没有出现。我知道这可能是因为"在 JSON 中,但我不知道如何删除它。或者可能有最简单的方法将航路点数据从 Bean 传递到 jsf 页面?

最佳答案

与其返回包含诸如“new google.maps.LatLng(50.495121,22.1705)”之类的 JavaScript 语句的 JSON 数据包,更明智的做法是仅返回坐标。

因此,如果您的 javascript 中有一个如下所示的 JSON 数据包(我不知道如何在 Java 和 Javascript 之间传递数据):

var routes = [
{"lat":"50.495121", "lng":"22.1705"},
{"lat":"50.57082", "lng":"22.06813"},
{"lat":"50.570549", "lng":"22.047871"},
{"lat":"50.521389", "lng":"21.912695"},
{"lat":"50.495121", "lng":"22.1705"}
]

您可以将其转换为数组,如下所示:

var way = [];
for (var i = 0; i < routes.length; i++) {
way.push(new google.maps.LatLng(parseFloat(routes[i].lat), parseFloat(routes[i].lng)));
}

注意:使用 parseFloat 将“50.495121”等字符串转换为 float 。

关于java - 将数据从 Bean 传递到 jsf 页面上的 javascript。谷歌 API 说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19790145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com