我在静态地图创建上达到2048大小限制。我有超过100,000个坐标,我正在绘制,然后我有一个按钮来拍摄地图的屏幕截图,因为它在屏幕上查看,目前,我这样做:
function plotMapPoints(locations) {
var marker, i, pos;
var image = "http://maps.google.com/maps/api/staticmap?sensor=false¢er=0,0&zoom=" + map.getZoom() + "&size=512x512";
for (i = 0; i < locations.length; i++) {
pos = new google.maps.LatLng(locations[i][0], locations[i][1]);
marker = new google.maps.Marker({
position: pos,
map: map
});
image += "&markers=" + pos.lat() + ',' + pos.lng();
}
console.log(image);
}
当我点击我的控制台中的链接时,它看起来格式很棒,不过,我是从Google收到的:
413. That’s an error.
Your client issued a request that was too large. That’s all we know.
有没有其他人知道将地图捕捉为图像的方法?我也尝试了html2canvas,但是我遇到了跨源画布问题。
任何帮助都会很棒。
答案 0 :(得分:0)
如果您在不启动网络浏览器的情况下使用Selenium(或PhantomJS),您可以像this link suggests那样使用它。您想要截取的元素的XPath是:// * [@ id =“map”]