gpt4 book ai didi

java - 为什么我的自定义 JavaFX MapView 请求通过 OSM 获得 403 错误?

转载 作者:行者123 更新时间:2023-12-01 19:38:30 24 4
gpt4 key购买 nike

我用 JavaFX 为商业软件开发了一个自定义 MapView。仅一周以来,我的所有请求均因 403 代码错误而失败(示例):

“服务器返回 HTTP 响应代码:403,URL:http://tile.openstreetmap.org/9/245/206.png

但是使用 Mozilla 等浏览器请求成功。我没有更改某些代码或配置,只是 OSM 将我列入黑名单。

但是,我认为,我遵循osm策略规则,例如同时只有2个连接,内存缓存系统,不下载高缩放的大区域。

如何合法访问分布式软件上的 OSM 切片以用于商业用途?篡夺 Mozilla User-Agent 可以成为开发期间或开发之后的直接解决方案吗?

   private void loadImage(Tile tile) {
String url = tile.getRetriever().computeURL(tile);
if(!waiters.contains(url)) {
waiters.add(url);
threadPool.execute(new ComparableRunnable(url,()->{

try {
if(!exist(tile)) {

Semaphore semaphore = new Semaphore(1);
semaphore.acquire();

Image image = new Image(url, true);

image.errorProperty().addListener((obs,old,val)->{
if(image.isError()) {
Outil.loggerConsole(image.getException());
semaphore.release();
}
});
} catch (InterruptedException e) {
Outil.loggerConsole(e);
}
}));

“服务器返回 HTTP 响应代码:403,URL:http://tile.openstreetmap.org/9/245/206.png

最佳答案

How can legaly acces to OSM tiles on distributed software for commercial usage ?

通过使用第三方提供商或运行您自己的切片服务器。 OSM 的切片服务器用于商业用途。请参阅Tile Usage Policy 。引用有趣的部分:

OpenStreetMap’s own servers are run entirely on donated resources. They have strictly limited capacity.

[...]

OpenStreetMap data is free for everyone to use. Our tile servers are not.

[...]

Heavy use (e.g. distributing an app that uses tiles from openstreetmap.org) is forbidden without prior permission from the System Administrators.

参见Alternative OpenStreetMap Tile Providers寻求解决方案。

关于java - 为什么我的自定义 JavaFX MapView 请求通过 OSM 获得 403 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56457100/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com