我正在建立一个网页,该网页从数据库中检索一系列经度和纬度,然后在Google地图上将其显示为标记。一切正常,除了我在JavaScript内的开头php标记上收到Uncaught SyntaxError:Unexpected token <之外。谁能看到我为什么会收到此错误,并提供一种克服它的方法?
这是有问题的代码:
<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
它按字面意义占用了每个字符。
<?php
将生成错误,因为解析器将<解释为新XML
元素的开始。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句