php循环中的多个google地图,带有javascript和引用id
我尝试为php循环中的所有项生成映射 html:php循环中的多个google地图,带有javascript和引用id,javascript,php,html,google-maps-api-3,Javascript,Php,Html,Google Maps Api 3,我尝试为php循环中的所有项生成映射 html: 活动概述 ID中的数字没有问题 div没有onload-事件,函数永远不会被调用 可能的解决办法: window.onload = function(){ var maps = document.querySelectorAll('div[id^="map-canvas-"]'); for(var i =0; i < maps.length; ++i ){ maps[i].onload(); } } window
活动概述
ID中的数字没有问题
div没有onload
-事件,函数永远不会被调用
可能的解决办法:
window.onload = function(){
var maps = document.querySelectorAll('div[id^="map-canvas-"]');
for(var i =0; i < maps.length; ++i ){
maps[i].onload();
}
}
window.onload=function(){
var-maps=document.querySelectorAll('div[id^=“map canvas-“]”);
对于(变量i=0;i
为
生成的HTML是什么样子的?
第二个参数是字符串,因此需要用引号包装。我得到了“Uncaught SyntaxError:Unexpected token}”google_reference_id是一个字符串,必须用引号括起来。错误发生在for循环的结束括号处。但是在google参考id中添加了引号。你是对的,抱歉,将引号改为撇号。html上没有地图。我试着用小提琴来检查google地图和getElementById选择器是否有问题。只需用一个数字来检查它是否工作。删除这个号码,它就工作了。
<script>
function renderMap(event_id, google_reference_id) {
var map_settings = <?php echo json_encode($this->events); ?>;
var request = {
reference: google_reference_id
};
var map = new google.maps.Map(document.getElementById('map-canvas-'+ event_id));
var infowindow = new google.maps.InfoWindow();
var service = new google.maps.places.PlacesService(map);
service.getDetails(request, function(place, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
var marker = new google.maps.Marker({
map: map,
position: place.geometry.location
});
if (place.geometry.viewport) {
map.fitBounds(place.geometry.viewport);
} else {
map.setCenter(place.geometry.location);
map.setZoom(15);
}
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(place.name);
infowindow.open(map, this);
});
}
});
}
</script>
window.onload = function(){
var maps = document.querySelectorAll('div[id^="map-canvas-"]');
for(var i =0; i < maps.length; ++i ){
maps[i].onload();
}
}