2
A
回答
5
我已經做了一個小例子,可以幫助你。 它採用html2canvas.js和jquery.js和 我也分叉什麼@mfirdaus did in another answer
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Capture map</title>
<style>
html,
body {
height: 100%;
margin: 0;
padding: 0;
}
#map {
float: left;
height: 640px;
width: 640px;
}
.myButton1 {
-moz-box-shadow: 0px 1px 0px 0px #fff6af;
-webkit-box-shadow: 0px 1px 0px 0px #fff6af;
box-shadow: 0px 1px 0px 0px #fff6af;
background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #ffec64), color-stop(1, #ffab23));
background: -moz-linear-gradient(top, #ffec64 5%, #ffab23 100%);
background: -webkit-linear-gradient(top, #ffec64 5%, #ffab23 100%);
background: -o-linear-gradient(top, #ffec64 5%, #ffab23 100%);
background: -ms-linear-gradient(top, #ffec64 5%, #ffab23 100%);
background: linear-gradient(to bottom, #ffec64 5%, #ffab23 100%);
filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ffec64', endColorstr='#ffab23', GradientType=0);
background-color: #ffec64;
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
border-radius: 6px;
border: 1px solid #ffaa22;
display: inline-block;
cursor: pointer;
color: #333333;
font-family: Arial;
font-size: 15px;
font-weight: bold;
padding: 6px 24px;
text-decoration: none;
text-shadow: 0px 1px 0px #ffee66;
}
.myButton1:hover {
background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #ffab23), color-stop(1, #ffec64));
background: -moz-linear-gradient(top, #ffab23 5%, #ffec64 100%);
background: -webkit-linear-gradient(top, #ffab23 5%, #ffec64 100%);
background: -o-linear-gradient(top, #ffab23 5%, #ffec64 100%);
background: -ms-linear-gradient(top, #ffab23 5%, #ffec64 100%);
background: linear-gradient(to bottom, #ffab23 5%, #ffec64 100%);
filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ffab23', endColorstr='#ffec64', GradientType=0);
background-color: #ffab23;
}
.myButton1:active {
position: relative;
top: 1px;
}
</style>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>
<script src="https://code.jquery.com/jquery-3.0.0.min.js" integrity="sha256-JmvOoLtYsmqlsWxa7mDSLMwa6dZ9rrIdtrrVYRnDRH0=" crossorigin="anonymous"></script>
</head>
<body>
<div id="map"></div>
<a id="btnSave" class="myButton1">generate img</a>
<a id="togCtrl" class="myButton1">toggle controls</a>
<div id="img-out"></div>
<script>
var map;
var transform;
var toggler = true;
function initialize() {
var tokio = new google.maps.LatLng(35.6801453, 139.728792);
var agbar = new google.maps.LatLng(41.4035482, 2.1894355);
map = new google.maps.Map(document.getElementById('map'), {
center: agbar,
zoom: 18,
mapTypeId: google.maps.MapTypeId.SATELLITE
});
}
//forked of https://stackoverflow.com/a/24281734/4537906
//get transform value
$("#btnSave").click(function() {
console.log('btnSave');
var transform = $(".gm-style>div:first>div").css("transform");
var comp = transform.split(","); //split up the transform matrix
var mapleft = parseFloat(comp[4]); //get left value
var maptop = parseFloat(comp[5]); //get top value
$(".gm-style>div:first>div").css({ //get the map container.
"transform": "none",
"left": mapleft,
"top": maptop,
})
html2canvas($('#map'), {
useCORS: true,
onrendered: function(canvas) {
var dataUrl = canvas.toDataURL('image/png'); //ready to use with the below commented line
//location.href = dataUrl; //this opens the image as an url into your browser
$(".gm-style>div:first>div").css({
left: 0,
top: 0,
"transform": transform
})
$("#img-out").append(canvas);
}
});
});
$("#togCtrl").click(function() {
map.setOptions({
disableDefaultUI: toggler,
disableDoubleClickZoom: toggler,
draggable: !toggler,
scrollwheel: !toggler
});
toggler = !toggler;
})
</script>
<script async defer src="https://maps.googleapis.com/maps/api/js?callback=initialize">
</script>
</body>
</html>
+0
謝謝你的回答。我希望我已經錯過了谷歌地圖文檔中的一些東西,以便直接做到這一點。但這是一個功能解決方法。 – Murcielago
相關問題
- 1. 谷歌靜態地圖API和45度(傾斜)圖像
- 2. 谷歌地圖「傾斜」/透視圖無法從API中獲取
- 3. 谷歌靜態地圖與方向
- 4. 使用谷歌圖表API與谷歌靜態地圖
- 5. 如何獲得靜態谷歌地圖的界限?
- 6. 如何獲得谷歌靜態地圖的界限?
- 7. 谷歌靜態地圖沒有使用谷歌地圖API
- 8. 如何獲得與谷歌地圖API
- 9. 混合靜態/動態谷歌地圖
- 10. 谷歌地圖默認tiptool傾斜箭頭造型
- 11. 谷歌地圖 - 不要顯示,直到傾斜加載
- 12. 如何在iOS中的谷歌地圖添加傾斜效果?
- 13. 在谷歌地圖上設置邊界和傾斜v2
- 14. 如何改變只傾斜在谷歌地圖API
- 15. 谷歌地圖api v3 - javascript - 透視/傾斜(不衛星!)?
- 16. 谷歌地圖加載靜態圖像
- 17. 谷歌靜態地圖圖像幫助
- 18. CSS:Google地圖傾斜視圖?
- 19. 靜態谷歌地圖2針
- 20. 谷歌地圖iOS SDK靜態庫
- 21. PHP谷歌靜態地圖V2錯誤
- 22. 是靜態谷歌地圖API免費?
- 23. 谷歌靜態地圖 - 畫一個圓
- 24. 如何靜態谷歌地圖
- 25. 加載靜態谷歌地圖到UIImageView?
- 26. 谷歌地圖靜態API網:: ERR_CONNECTION_CLOSED
- 27. 谷歌靜態地圖尺寸差異
- 28. 谷歌靜態地圖不顯示
- 29. 谷歌靜態地圖403錯誤
- 30. 谷歌靜態地圖問題
2跟進的問題:使用Google靜態街景圖像API,你可以與街道的變焦查詢指定的視圖?我忘了第二個問題是什麼。 – Murcielago
爲什麼downvote? – Murcielago
我建議通過以下網址提交功能請求:https://code.google.com/p/gmaps-api-issues/issues/list?can=2&q=apitype:Static%20type:Enhancement&sort=-stars&colspec=ID%20Type %20Status%20Summary%20Internal%20Stars – miguev