为什么我的自定义 JavaFX MapView 请求通过 OSM 获得 403 错误?
Why my custom JavaFX MapView request obtain 403 error by OSM?
我在 JavaFX 中为商业软件开发了自定义 MapView。
因为只有一个星期,我的所有请求都因 403 代码错误而失败(示例):
"Server returned HTTP response code: 403 for 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);
}
}));
"Server returned HTTP response code: 403 for URL: http://tile.openstreetmap.org/9/245/206.png"
How can legaly acces to OSM tiles on distributed software for
commercial usage ?
通过使用 third-party 提供商或 运行 您自己的磁贴服务器。 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 了解解决方案。
我在 JavaFX 中为商业软件开发了自定义 MapView。 因为只有一个星期,我的所有请求都因 403 代码错误而失败(示例):
"Server returned HTTP response code: 403 for 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);
}
}));
"Server returned HTTP response code: 403 for URL: http://tile.openstreetmap.org/9/245/206.png"
How can legaly acces to OSM tiles on distributed software for commercial usage ?
通过使用 third-party 提供商或 运行 您自己的磁贴服务器。 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 了解解决方案。