Ruby on rails 使用google maps javascript api的热图未显示在my pdf usign“中;wkhtmltopdf";。我试着在“上”给窗口“U状态”;“已加载瓷砖”;事件 var图、热图; var热点=[]; 函数initMap(){ $.ajax({ 键入:“GET”, url:“/show_heat_map”, 数据类型:“json”, 数据:{}, 成功:功能(数据、状态、xhr){ $。每个(数据[“位置]),功能(索引,项目){ 如果(index==0){//得到热图的中心点 map=new google.maps.map(document.getElementById('map'){ 缩放:10, 中心:{ 纬度:项目[“纬度”], 液化天然气:项目[“经度”] }, mapTypeId:'路线图'//路线图,卫星,混合,地形 }); } var lat=项目[“纬度”]; var lng=项目[“经度”]; 如果(纬度!=null&&lng!=null){ heatpoints.push(新的google.maps.LatLng(lat,lng));//所有的热点 } }); 控制台日志(“热点为”+热点); heatmap=新建google.maps.visualization.HeatmapLayer({ 数据:热点, 地图:地图 }); }, 错误:函数(错误){ 控制台日志(“错误”); } }); }
呈现pdf时会调用initMap。但是它没有到达地图加载。如果这不起作用,有没有一种方法我可以用任何其他的宝石,比如虾,来做同样的事情。我觉得PDF非常简单 在这段代码中,我看不到您正在设置Ruby on rails 使用google maps javascript api的热图未显示在my pdf usign“中;wkhtmltopdf";。我试着在“上”给窗口“U状态”;“已加载瓷砖”;事件 var图、热图; var热点=[]; 函数initMap(){ $.ajax({ 键入:“GET”, url:“/show_heat_map”, 数据类型:“json”, 数据:{}, 成功:功能(数据、状态、xhr){ $。每个(数据[“位置]),功能(索引,项目){ 如果(index==0){//得到热图的中心点 map=new google.maps.map(document.getElementById('map'){ 缩放:10, 中心:{ 纬度:项目[“纬度”], 液化天然气:项目[“经度”] }, mapTypeId:'路线图'//路线图,卫星,混合,地形 }); } var lat=项目[“纬度”]; var lng=项目[“经度”]; 如果(纬度!=null&&lng!=null){ heatpoints.push(新的google.maps.LatLng(lat,lng));//所有的热点 } }); 控制台日志(“热点为”+热点); heatmap=新建google.maps.visualization.HeatmapLayer({ 数据:热点, 地图:地图 }); }, 错误:函数(错误){ 控制台日志(“错误”); } }); },ruby-on-rails,pdf-generation,wkhtmltopdf,Ruby On Rails,Pdf Generation,Wkhtmltopdf,呈现pdf时会调用initMap。但是它没有到达地图加载。如果这不起作用,有没有一种方法我可以用任何其他的宝石,比如虾,来做同样的事情。我觉得PDF非常简单 在这段代码中,我看不到您正在设置window.status='tilesloadded'。我希望这种情况会发生在success回调的底部。我在initmap函数中这样做,比如-google.maps.event.addListenerOnce(map,'tilesloaded',function(){window.status='done_
window.status='tilesloadded'
。我希望这种情况会发生在success
回调的底部。我在initmap函数中这样做,比如-google.maps.event.addListenerOnce(map,'tilesloaded',function(){window.status='done_with_heatmap';})@Unixmonkey-wkhtmltopdf是否确实可以显示地图内容?因为我看到它现在不支持。我知道有很多地图库它有问题,但我听说一些(可能是旧版本)可以工作。这可能是因为wkhtmltopdf
使用了相当于非常旧的Chrome版本的东西,它不支持很多更新的CSS和JS功能。以前从未听说过。看起来很酷。
<div id="map">
</div>
<script>
var map, heatmap;
var heatpoints = [];
function initMap(){
$.ajax({
type: 'GET',
url: '/show_heat_map',
dataType: 'json',
data: {},
success: function(data, status, xhr){
$.each(data["locations"], function(index, item){
if (index == 0) { //To get the center point of heat map
map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: {
lat: item["latitude"],
lng: item["longitude"]
},
mapTypeId: 'roadmap' //roadmap, satellite, hybrid, terrain
});
}
var lat = item["latitude"];
var lng = item["longitude"];
if (lat != null && lng != null) {
heatpoints.push(new google.maps.LatLng(lat, lng)); //all the heatpoints
}
});
console.log("HEAT POINTS IS "+heatpoints);
heatmap = new google.maps.visualization.HeatmapLayer({
data: heatpoints,
map: map
});
},
error: function(error){
console.log("Error");
}
});
}
</script>
<%= javascript_include_tag 'https://maps.googleapis.com/maps/api/js?key='+Rails.application.secrets.google_maps_api_key+'&libraries=visualization&callback=initMap' %>