ManagedBean から jsf ページへのGoogle マップ JavaScript 方向 APIにウェイポイントを渡す必要があります。JSONArray を作成して jsf に渡そうとしています:
private JSONArray routesJSON;
ゲッターとセッターで。
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);
}
});
}
しかし、そのページマップを表示しているときに表示されません。おそらく"
JSONが原因であることはわかっていますが、削除する方法がわかりません。または、ウェイポイント データを Bean から jsf ページに渡す最も簡単な方法はありますか?