我正在使用 leaflet-image.js 从传单地图创建图像。用于创建图像的代码是示例中的代码https://github.com/mapbox/leaflet-image https://github.com/mapbox/leaflet-image ie
var map = L.mapbox.map('map', 'YOUR.MAPID').setView([38.9, -77.03], 14);
leafletImage(map, function(err, canvas) {
// now you have canvas
// example thing to do with that canvas:
var img = document.createElement('img');
var dimensions = map.getSize();
img.width = dimensions.x;
img.height = dimensions.y;
img.src = canvas.toDataURL();
document.getElementById('images').innerHTML = '';
document.getElementById('images').appendChild(img);
});
问题是图像似乎被某些 CORS 安全功能阻止。下面是 Google Chrome 控制台的图像(不是 Firefox 中的 enevn,它不起作用)
你能帮我吗? (而且我所有的服务器都是本地托管的。网络服务器,地图服务器......)
一般来说,一个网站中运行的javascript代码无法访问其他网站的资源。但网站中的 JavaScript 应该能够访问同一网站的资源。这就是所谓的同源策略 https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy,并且由所有主要浏览器(不仅仅是 Chrome)实现。
也请阅读https://developer.mozilla.org/en-US/docs/Same-origin_policy_for_file:_URIs https://developer.mozilla.org/en-US/docs/Same-origin_policy_for_file:_URIs and 在 Chrome 中禁用同源策略 https://stackoverflow.com/questions/3102819/disable-same-origin-policy-in-chrome .
最快的解决方案是通过您的localhost:8080
网站 - 然后,该网站中的 JavaScript 将能够访问同一网站中的图像资源。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)