<;?上出现意外的令牌错误;?php


Unexpected token error on <?php

我正在构建一个网页,从数据库中检索一系列纬度和经度,然后将它们作为标记显示在谷歌地图上。一切都很好,除了我收到一个未压缩的语法错误:意外的令牌<在javascript中打开php标记。有人能理解我为什么会犯这个错误,并提供一种克服它的方法吗?

这是有问题的代码:

    <script type="text/javascript">
//<![CDATA[
var map;
var bounds = new google.maps.LatLngBounds ();
  function initialize() {
    var mapOptions = {
      center: new google.maps.LatLng(-34.397, 150.644),
      zoom: 8
    };
    map = new google.maps.Map(document.getElementById("map-canvas"),
        mapOptions);
  }
//HERE'S WHERE THE ERROR OCCURS  
<?php
  while ($row = $results->fetch_array())
    echo "addMarker(".$row['latitude'].", ".$row['longitude'].", ".$row['time'].", map);";
?>
    function addMarker(lat, lng, time, map) {
        var latLng = new google.maps.LatLng(lat, lng);
        var marker = new google.maps.Marker({
            position: latLng,
            map: map,
            draggable: false,
        });
        bounds.extend(latLng);
        var contentString = 'Time: ' + time + ''n' + 'Latitude: ' + lat + ''n' + 'Longitude: ' + lng;
        var infowindow = new google.maps.InfoWindow({
            content: contentString
        });
        google.maps.event.addListener(marker, 'click', function() {
            infowindow.open(map,marker);
        });
        return marker;
    }
  map.fitBounds(bounds);
  google.maps.event.addDomListener(window, 'load', initialize);
  //]]>
</script>

这是因为CDATA它从字面上理解每个字符。

CCD_ 2将产生错误,因为解析器解释<作为新的CCD_ 3元素的开始。