Jquery Google地图错误未捕获语法错误:意外标记)
我正在使用buddy press,并在个人资料中添加了一个谷歌地图。有时地图显示正确,有时则不正确 我检查了页面上地图没有显示的inspect元素,得到了一个未捕获的语法错误:意外的标记有人能帮我解决缺少地图的问题吗 以下是供参考的php代码:Jquery Google地图错误未捕获语法错误:意外标记),jquery,google-maps,Jquery,Google Maps,我正在使用buddy press,并在个人资料中添加了一个谷歌地图。有时地图显示正确,有时则不正确 我检查了页面上地图没有显示的inspect元素,得到了一个未捕获的语法错误:意外的标记有人能帮我解决缺少地图的问题吗 以下是供参考的php代码: <script type="text/javascript"> jQuery.noConflict(); jQuery(document).ready(function() { if (jQuery('#member-map').leng
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function() {
if (jQuery('#member-map').length != 0) {
function a_page_maps() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(26.745610382199022, 2.63671875);
var myOptions = {
zoom: 2,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("member-map"), myOptions);
var gmarkers = [];
function createMarker(latlng,html,url,icon) {
var contentString = html;
var marker = new google.maps.Marker({
position: latlng,
map: map,
icon: icon
});
gmarkers.push(marker);
var infowindow = new google.maps.InfoWindow;
google.maps.event.addListener(marker, 'mouseover', function() {
infowindow.setContent(contentString);
infowindow.open(map,marker);
});
google.maps.event.addListener(marker, 'mouseout', function() {
infowindow.close(map,marker);
});
google.maps.event.addListener(marker, 'click', function() {
window.location = url;
});
}
<?php
foreach ($placel as $place) {
if(get_post_meta($place, 'article_location', true) <> "") {
?>
var image = '<?php echo get_bloginfo('template_url'); ?>/images/red-pushpin.png';
var point = new google.maps.LatLng(<?php echo get_post_meta($place, 'article_location_latlon', true); ?>);
var html = "<h5><?php echo get_post_meta($place, 'article_location', true); ?></h5><p class='popup'><em>↓ Click to see articles about this location ↓</em></p>";
var url = '<?php echo get_bloginfo('wpurl'); ?>/locations/?location=<?php echo urlencode(get_post_meta($place, 'article_location', true)); ?>';
var marker = createMarker(point,html,url,image);
<?php
}
}
?>
<?php
foreach ($placegol as $placego) {
if(get_post_meta($placego, 'article_location', true) <> "") {
?>
var image = '<?php echo get_bloginfo('template_url'); ?>/images/grn-pushpin.png';
var point = new google.maps.LatLng(<?php echo get_post_meta($placego, 'article_location_latlon', true); ?>);
var html = "<h5><?php echo get_post_meta($placego, 'article_location', true); ?></h5><p class='popup'><em>↓ Click to see articles about this location ↓</em></p>";
var url = '<?php echo get_bloginfo('wpurl'); ?>/locations/?location=<?php echo urlencode(get_post_meta($placego, 'article_location', true)); ?>';
var marker = createMarker(point,html,url,image);
<?php
}
}
?>
}
a_page_maps();
}
});
</script>
应该是
var infowindow = new google.maps.InfoWindow();
嵌套函数是个坏主意。lnrbob所说的是,发布实际生成的javascript,而不是PHP代码。您收到的错误消息意味着您的代码中缺少一条。使用诸如Firebug for FF或内置开发工具Chrome&Safari之类的调试工具,它们将为您指出缺少角色的确切位置!通常,在每个语法错误旁边都会有一个行号,您可以单击该行号查看并及时修复错误。请看,将生成的javascript代码添加到问题中也是有意义的——这应该比php更容易发现javascript错误。
var infowindow = new google.maps.InfoWindow();