Как заполнить массив js данными из jsp - PullRequest
0 голосов
/ 14 марта 2012

Я пытаюсь заполнить LatLng координатами из jsp, но я новичок в js.Не могли бы вы дать мне несколько советов, как это сделать:)?

у меня есть в jsp google maps api v3, которые показывают карту и рисуют простой путь

<script type="text/javascript">

function initialize() {
  var myLatLng = new google.maps.LatLng(0, -180);
  var myOptions = {
    zoom: 3,
    center: myLatLng,
    mapTypeId: google.maps.MapTypeId.TERRAIN
  };

  var map = new google.maps.Map(document.getElementById("map_canvas"),
      myOptions);

  var flightPlanCoordinates = [
                                new google.maps.LatLng(37.772323, -122.214897),
                                new google.maps.LatLng(21.291982, -157.821856),
                                new google.maps.LatLng(-18.142599, 178.431),
                                new google.maps.LatLng(-27.46758, 153.027892)
                              ];

  var flightPath = new google.maps.Polyline({
    path: flightPlanCoordinates,
    strokeColor: "#FF0000",
    strokeOpacity: 1.0,
    strokeWeight: 2
  });

  flightPath.setMap(map);
}

function loadScript() {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://maps.googleapis.com/maps/api/js?xxx&sensor=false&callback=initialize";
document.body.appendChild(script);
}

window.onload = loadScript;

</script>

ниже я получаю координаты из моего контроллера

<c:forEach items="${trackpoints}" var="coord">
<div>lat = ${coord.latitude}, lon = ${coord.longitude}</div>
</c:forEach>

теперь я хочу заменить жестко заданные координаты flightPlanCoordinates в google maps api моими координатами из "trackpoints"

я провожу несколько часов, но безуспешно; /

1 Ответ

2 голосов
/ 14 марта 2012

Вы пытались просто распечатать их в конструкторе массива?

var flightPlanCoordinates = [<c:forEach items="${trackpoints}" var="coord">
    new google.maps.LatLng(${coord.latitude}, ${coord.longitude}),
    </c:forEach>];

Помните: JavaScript не выполняется до тех пор, пока он не появится в браузере, поэтому вы можете его динамически генерировать. вам нужно выяснить, как пропустить последний ,, хотя это может испортить IE

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...