【发布时间】:2013-10-18 22:17:32
【问题描述】:
我在创建静态地图时遇到了 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,但是我遇到了跨源画布问题。
任何帮助都会很棒。
【问题讨论】:
-
我想知道您是否可以根据此答案将地图所在的 div 捕获为图像 - stackoverflow.com/questions/13720815/capture-a-div-as-an-image
-
我试过了,我仍然收到跨浏览器来源警告
-
您是否尝试通过从 Google 下载地图工件来创建自己的 GeoServer?
-
我不知道地理服务器是什么,我想做的基本上就是截图,一张我制作的带有图钉的地图
标签: javascript jquery google-maps google-maps-api-3 maps