Google maps 谷歌地图打印灰色打印
我正在尝试打印Google地图页面,当我使用ctrl+p或单击div打印此页面时,它在横向模式下不工作。 我在Google Chrome浏览器版本上运行以下代码 谷歌浏览器是最新的 版本69.0.3497.100(官方版本)(64位) 我的代码如下Google maps 谷歌地图打印灰色打印,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我正在尝试打印Google地图页面,当我使用ctrl+p或单击div打印此页面时,它在横向模式下不工作。 我在Google Chrome浏览器版本上运行以下代码 谷歌浏览器是最新的 版本69.0.3497.100(官方版本)(64位) 我的代码如下 <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<title>Circles</title>
<style type="text/css" media="print">
@media print {
img {
max-width: none !important;
}
}
</style>
</head>
<body style="margin:0;width:800px;height:1000px" onload=initMap()>
<div class="printdiv" style="border:1px solid red;" onclick="printMap()">Print</div>
<div id="map" style="width:800px; height:1000px;"></div>
<script>
var map;
var citymap = {
chicago: {
center: { lat: 41.878, lng: -87.629 },
population: 2714856
},
newyork: {
center: { lat: 40.714, lng: -74.005 },
population: 8405837
},
losangeles: {
center: { lat: 34.052, lng: -118.243 },
population: 3857799
},
vancouver: {
center: { lat: 49.25, lng: -123.1 },
population: 603502
}
};
function initMap() {
// Create the map.
map = new google.maps.Map(document.getElementById('map'), {
zoom: 18,
center: { lat: 37.090, lng: -95.712 },
mapTypeId: 'terrain'
});
for (var city in citymap) {
// Add the circle for this city to the map.
var cityCircle = new google.maps.Circle({
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35,
map: map,
center: citymap[city].center,
radius: Math.sqrt(citymap[city].population) * 100
});
}
}
function printMap() {
alert("resize new");
var center = map.getCenter();
map.setCenter(center);
google.maps.event.trigger(map, 'resize');
window.print();
}
</script>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBOsQrXRxsQapeKuZ7j2VvK-F-3A3VhGmU">
</script>
</body>
</html>
圈子
@媒体印刷品{
img{
最大宽度:无!重要;
}
}
印刷品
var映射;
var citymap={
芝加哥:{
中心:{lat:41.878,lng:-87.629},
人口:2714856
},
纽约:{
中心:{lat:40.714,液化天然气:-74.005},
人口:8405837
},
洛杉矶:{
中心:{lat:34.052,lng:-118.243},
人口:3857799
},
温哥华:{
中心:{lat:49.25,lng:-123.1},
人口:603502
}
};
函数initMap(){
//创建地图。
map=new google.maps.map(document.getElementById('map'){
缩放:18,
中心:{lat:37.090,液化天然气:-95.712},
mapTypeId:'地形'
});
用于(城市地图中的var城市){
//将该城市的圆圈添加到地图中。
var cityCircle=new google.maps.Circle({
strokeColor:“#FF0000”,
笔划不透明度:0.8,
冲程重量:2,
填充颜色:'#FF0000',
不透明度:0.35,
地图:地图,
中心:城市地图[城市]。中心,
半径:Math.sqrt(城市地图[城市].人口)*100
});
}
}
函数printMap(){
警报(“调整新大小”);
var center=map.getCenter();
地图设置中心(中心);
google.maps.event.trigger(映射,'resize');
window.print();
}
输出
点击打印后,颜色变灰
仅限解决方案。您可以添加CSS来修复此解决方案
#map_canvas div > img {
position: absolute;
}
map\u canvas
是您设置为map container的id。您发布的代码对我有效,至少在我的浏览器(Chrome 69.0.3497.100)中是如此。在布局横向中,它的创建问题在横向模式打印中是否工作正常??不,但您在问题中没有提到……问题已更新。