sothawo / mapjfx Goto Github PK
View Code? Open in Web Editor NEWJavaFX implementation of a map using OpenLayers and JavaFX
Home Page: http://www.sothawo.com/projects/mapjfx/
License: Apache License 2.0
JavaFX implementation of a map using OpenLayers and JavaFX
Home Page: http://www.sothawo.com/projects/mapjfx/
License: Apache License 2.0
should add the possibility to link the MapView to an observable list to be able to add/remove map objects like markers labels etc.
check if ol3-cesium http://openlayers.org/ol3-cesium/ can be integrated
when using OSM tiles are loading really slow. investigate to find the reason why.
I would like to show tooltips on markers etc. Will a patch be accepted adding onmouseover/exit events?
maxLatitude
and maxLongitued
are primed with Double.MIN_VALUE
which is the smallest positive double value (very, verry tiney, but still positive). They should actually be primed with -Double.MAX_VALUE
which will be the smallest double possible (a negative number). See: http://stackoverflow.com/questions/3884793/why-is-double-min-value-in-not-negative
Hi,
is it possible to handle wfs editing using mapjfx?
make sure that tiles from a. and b. and c. servers are mapped to the same cache file
add the possibility to show text labels next to markers
I get the demo and run it , I used google Tile map , but I feel not smooth enough when I pan the map. feel delay and stuck 。How can I optimise it ? Thinks again.
when having an internet connection, use the lastModified information to check if the resource needs to be downloaded again.
the changes made to fix the broken behaviour in JDK8u60 do not work on Windows:
2015-10-18 14:07:38:121 MESZ FEINER com.sothawo.mapjfx.MapView initialize: initializing...
2015-10-18 14:07:38:122 MESZ FEINER com.sothawo.mapjfx.MapView loadMapViewHtml: loading from file:/C:/Users/peter/Entwicklung/mapjfx/target/classes/mapview.html
2015-10-18 14:07:38:128 MESZ FEINER com.sothawo.mapjfx.MapView processHtmlLine: loading from ol/3.9.0/ol.css
2015-10-18 14:07:38:128 MESZ SCHWERWIEGEND com.sothawo.mapjfx.MapView processHtmlLine: loading ol/3.9.0/ol.css
java.net.MalformedURLException: no protocol: ol/3.9.0/ol.css
at java.net.URL.(URL.java:586)
at java.net.URL.(URL.java:483)
at java.net.URL.(URL.java:432)
at com.sothawo.mapjfx.MapView.processHtmlLine(MapView.java:702)
at com.sothawo.mapjfx.MapView.lambda$loadMapViewHtml$37(MapView.java:664)
at com.sothawo.mapjfx.MapView$$Lambda$89/1818968241.apply(Unknown Source)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at com.sothawo.mapjfx.MapView.loadMapViewHtml(MapView.java:666)
at com.sothawo.mapjfx.MapView.initialize(MapView.java:510)
at com.sothawo.mapjfx.TestApp.start(TestApp.java:134)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$159(LauncherImpl.java:863)
at com.sun.javafx.application.LauncherImpl$$Lambda$54/2018266402.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$172(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl$$Lambda$50/2121839127.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$null$170(PlatformImpl.java:295)
at com.sun.javafx.application.PlatformImpl$$Lambda$52/1521682452.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$171(PlatformImpl.java:294)
at com.sun.javafx.application.PlatformImpl$$Lambda$51/1165560644.run(Unknown Source)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$145(WinApplication.java:101)
at com.sun.glass.ui.win.WinApplication$$Lambda$40/78749362.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)
like mapView , I can
mapView.addEventHandler(CoordinateEvent.MAP_CLICKED, event -> {
event.consume();
if (markerClick.getVisible()) {
boolean needToAddMarker = (null == markerClick.getPosition());
markerClick.setPosition(event.getCoordinate());
if (needToAddMarker) {
// adding can only be done after coordinate is set
mapView.addMarker(markerClick);
}
}
});
but I when click in the marker and show something ,How I can do it ?Thanks!!
the implemente dway to disable the default browser context menu on the map is not working anymore (not sure since which version). Must investigate and fix.
The OfflineCache
and particular https://github.com/sothawo/mapjfx/blob/master/src/main/java/com/sothawo/mapjfx/offline/CachingURLStreamHandlerFactory.java is giving problems.
private URLStreamHandler getURLStreamHandler(String protocol) {
try {
Method method = URL.class.getDeclaredMethod("getURLStreamHandler", String.class);
method.setAccessible(true);
return (URLStreamHandler) method.invoke(null, protocol);
} catch (Exception e) {
logger.warning("could not access URL.getUrlStreamHandler");
return null;
}
}
The reflective call is not allowed. We are working with modules.
Hyya,
I would like to use a silngle tile located in filesystem for use in mapjfx (for example like so : http://www.gisagmaps.com/storage/S2_download_extent.jpg?__SQUARESPACE_CACHEVERSION=1486582125381) . Is there a way to do so with current implementation of MapType.OSM ?
Thanks :)
Hi,
I want to add some customized javascript functions into map. well I tried these
1- Added this function into mapview.js
JSMapView.prototype.zoomTo = function (zoom) {
_view.setZoom(zoom);
}
2- added this function in Mapview.java
public void setzoomTo(double zoom) {
if (getInitialized()) {
logger.finer(() -> "setzoomTo: " + zoom);
getMapview().call("zoomTo",zoom);
}
}
and called it using
mapView.setzoomTo(12)
but nothing happens. it logs
setzoomTo: setzoomTo: 12.0
which show it is called in mapview.java but it does not fire it in javascript. I tested this function in mapview-local.html and it works but it does not work in javafx application. Can you please help me with this?It is a bit hard to debug javascrtipt inside webview
add a method to the OfflineCache class to clear the content of the cache directory
when starting with this project I did not want to have any dependencies on other libraries. Now, with Java 11, there is a dependency on JavaFX, so there are additional dependencies; therefore I will change the logging to use slf4j as api to enable users of the library to use a logging backend of their choice
at the moment, when two MapViews are added in a program and caching is enabled, this leads to an error because the internla setting allows this only per JVM instance to be called once.
Need to add handling for this case.
MapView has the possibility to set the desired extent rectangle (min lat/lon, max lat/lon). There should be a possibility to query get the current extent.
Hey,
is it possible to disable zooming and panning? Since the normal MapView doesn't offer these options, I don't know where to start.
Hi sothawo,
I was on my way switching from GMapsFx (https://github.com/rterp/GMapsFX) to mapjfx.
But unfortunately I am having the problem that I can't open more than 20 MapViews safely.
It's not that I am viewing all of them in one pane, its about creating a MapView, using it, throwing it away and creating a new one. I am not sure what's going on, but probably its some kind of memory leak.
I am using JDK/JRE jdk1.8.0_192 on Mac OS X. Any ideas or suggestions?
Thank you very much.
Jörg
When the MapView stops working I am getting this exception:
java.lang.NullPointerException
at com.sun.javafx.webkit.prism.RTImage.getTexture(RTImage.java:81)
at com.sun.javafx.webkit.prism.RTImage.getGraphics(RTImage.java:69)
at com.sun.javafx.webkit.prism.WCBufferedContext.getGraphics(WCBufferedContext.java:64)
at com.sun.javafx.webkit.prism.WCGraphicsPrismContext$Composite.paint(WCGraphicsPrismContext.java:1497)
at com.sun.javafx.webkit.prism.WCGraphicsPrismContext.drawImage(WCGraphicsPrismContext.java:842)
at com.sun.webkit.graphics.GraphicsDecoder.drawImage(GraphicsDecoder.java:427)
at com.sun.webkit.graphics.GraphicsDecoder.decode(GraphicsDecoder.java:184)
at com.sun.webkit.graphics.WCRenderQueue.decode(WCRenderQueue.java:92)
at com.sun.webkit.graphics.WCRenderQueue.decode(WCRenderQueue.java:103)
at com.sun.webkit.graphics.WCRenderQueue.decode(WCRenderQueue.java:110)
at com.sun.webkit.graphics.GraphicsDecoder.decode(GraphicsDecoder.java:340)
at com.sun.webkit.graphics.WCRenderQueue.decode(WCRenderQueue.java:92)
at com.sun.webkit.WebPage.paint2GC(WebPage.java:734)
at com.sun.webkit.WebPage.paint(WebPage.java:701)
at com.sun.javafx.sg.prism.web.NGWebView.renderContent(NGWebView.java:96)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:577)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:577)
at com.sun.javafx.sg.prism.NGNode.renderForClip(NGNode.java:2294)
at com.sun.javafx.sg.prism.NGNode.renderRectClip(NGNode.java:2188)
at com.sun.javafx.sg.prism.NGNode.renderClip(NGNode.java:2214)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2047)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:577)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:577)
at com.sun.javafx.sg.prism.NGNode.renderForClip(NGNode.java:2294)
at com.sun.javafx.sg.prism.NGNode.renderRectClip(NGNode.java:2188)
at com.sun.javafx.sg.prism.NGNode.renderClip(NGNode.java:2214)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2047)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:577)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:577)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:577)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:577)
at com.sun.javafx.sg.prism.NGNode.renderForClip(NGNode.java:2294)
at com.sun.javafx.sg.prism.NGNode.renderRectClip(NGNode.java:2188)
at com.sun.javafx.sg.prism.NGNode.renderClip(NGNode.java:2214)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2047)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:577)
at com.sun.javafx.sg.prism.NGNode.renderForClip(NGNode.java:2294)
at com.sun.javafx.sg.prism.NGNode.renderRectClip(NGNode.java:2188)
at com.sun.javafx.sg.prism.NGNode.renderClip(NGNode.java:2214)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2047)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:577)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:577)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:577)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:577)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:577)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053)
at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:477)
at com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:323)
at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:91)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset$$$capture(FutureTask.java:308)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java)
at com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
at java.lang.Thread.run(Thread.java:748)
Hi,
Why when we add fontawsome into mapview_local.html it loads fontawsomes
icons in the map. when I add the CSS into mapview.htm
it does not load icons.
#custom_mapview.css# #css/fontawesome.min.css# #css/all.min.css#
I used this code to load css I have also copied webfonts but I think it does not embded them into final jar file. is there any way to track this issue?
thanks
I'm using mapjfx in a project I am working on, and I really appreciate the work you have put into this excellent project; but I have noticed a strange behaviour. If the map is zoomed out quite far, you can easily pan the world map, so that it 'wraps' around. Once you've wrapped around, when you click on the map, the longitude value returned in the MAP_CLICKED
event, is incorrect. I was getting values like:
"Clicked: [latitude=-31.20340495091738, longitude=-214.27734375]"
"Clicked: [latitude=-19.80805412808857, longitude=-335.21484375]"
I think this also applies to MAP_POINTER_MOVED
as well.
It looks like at the when the map wraps from one "world" to the next, going West, the longitude values re-starts at -180 and keep increasing (in the negative direction).
I was able to reproduce this, in the demo application as well. See screen shots below:
In the first screen shot I clicked on 'Normal' New Zealand, with a longitude of 175.95703125.
In the second screen shot, I clicked on 'Wrapped' New Zealand, with a longitude of -184.39453125000
As a work-around, it looks like I could take the longitude returned from map, and if it is out of range add a multiple of 360 to it, until it is in range.
does loading the data for caching work when behind a proxy?
I just wanted to test your nice example project, however, when I am starting the demo application, I do not see any rendered OSM content (tiles) on the screen. Looks like the following:
Here is some console output, nothing special:
22:15:21.365 DEBUG [JavaFX Application Thread] com.sothawo.mapjfx.MapView - Java Version: 1.8.0_92-b14
22:15:21.365 DEBUG [JavaFX Application Thread] com.sothawo.mapjfx.MapView - JavaFX Version: 8.0.92-b14
22:15:21.366 DEBUG [JavaFX Application Thread] com.sothawo.mapjfx.MapView - OS: Mac OS X, 10.12.3, x86_64
22:15:21.367 DEBUG [JavaFX Application Thread] com.sothawo.mapjfx.MapView - User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.19 (KHTML, like Gecko) JavaFX/8.0 Safari/538.19
22:15:21.368 DEBUG [JavaFX Application Thread] com.sothawo.mapjfx.MapView - load html into WebEngine
...
22:15:22.519 DEBUG [JavaFX Application Thread] c.s.mapjfx.MapView.JavaConnector - JS: patching anchor for https://openlayers.org/
22:15:22.520 DEBUG [JavaFX Application Thread] c.s.mapjfx.MapView.JavaConnector - JS: patching anchor for https://www.openstreetmap.org/copyright
22:15:22.521 DEBUG [JavaFX Application Thread] c.s.mapjfx.MapView.JavaConnector - JS reports zoom value 2
Labels should be attachable to Markers so that hiding/showing/moving/removing a Marker does the same with attached Labels
Currently, when the mouse pointer hover a marker on the map, the normal behavior "scroll down/up to zoom" is disabled. If my mouse pointer hover a marker and i scroll up/down, the current zoom is not changed. I have to change a bit the position of my mouse pointer to make the zoom work again.
I tried to see if a MarkerEvent was fired when i scroll up/down with a mouse pointer on a marker, but it seems that no events are triggered.
mapView.addEventHandler(MarkerEvent.ANY, event -> {
System.out.println("marker event fired");
});
i also look for MapViewEvent but same result appear. No events are triggerd.
mapView.addEventHandler(MapViewEvent.ANY, event -> {
System.out.println("Map View event fired");
});
It would be nice to allow the same behavior "scroll down/up to zoom" even if the mouse pointer hover a marker.
Hello and thank you for this really useful JavaFX component!
I am trying to use an external WMS server and I add the following code to the demo application of mapjfx:
/** params for the fourth WMS server. */
private WMSParam wmsParamExternalWMSServer = new WMSParam()
.setUrl("http://ows.terrestris.de/osm/service?")
.addParam("layers", "OpenStreetMap WMS - by terrestris")
.addParam("REQUEST", "GetTile");
And also change the line where the WMSParam is set:
else if (newValue == radioMsWMSWFPAdminBoundaries) {
//mapView.setWMSParam(wmsParamWFPAdminBoundaries);
mapView.setWMSParam(wmsParamExternalWMSServer);
if (oldValue == radioMsWMSGisLandsat) {
mapView.setMapType(MapType.OSM);
}
mapType = MapType.WMS;
}
This WMS server works on QGIS desktop application but in mapjfx it displays nothing.
I noticed that there is a open layers google maps library here: https://github.com/mapgears/ol3-google-maps
@sothawo, I'd like to get my hands dirty but I'm just starting to test out the mapjfx apis. By your estimate, would integrating google maps be hard to do?
Hello,
i had written an Application with your MapjFx Libary. Now i have the Problem that the Marker will disapear after one second.
Marker marker = Marker.createProvided(Marker.Provided.GREEN).setPosition(cords).setVisible(true); MapLabel label = new MapLabel(string).setPosition(cords).setVisible(true); marker.attachLabel(label); mapView.addMarker(marker); mapView.setCenter(cords);
Can you say me why?
The Map is fully initialized at the moment where i call the function.
As second problem, i get multiple caching errors like the following:
Mär 07, 2017 2:03:00 PM com.sothawo.mapjfx.offline.OfflineCache readCachedDataInfo SCHWERWIEGEND: could not read dataInfo from C:\Users\######\workspace\######\mapjfx-cache\https%3A%2F%2Fx.tile.openstreetmap.org%2F15%2F17294%2F10579.png.dataInfo
We are trying to include the mapfx component in a project and have some problems to integrate a WMS layer.
Tested with version:
In the Controller of the mapfx-demo we changed (same WMS as in #25)
- private WMSParam wmsParamWFPAdminBoundaries = new WMSParam()
- .setUrl("http://geonode.wfp.org:80/geoserver/ows")
- .addParam("layers", "geonode:admin_2_gaul_2015");
+ private WMSParam wmsParamWFPAdminBoundaries = new WMSParam().setUrl("http://ows.terrestris.de/osm/service?").addParam("layers", "OSM-WMS");
and started the demo with mvn clean package && (cd target/mapjfx-demo && ./bin/mapjfx-demo)
. Selecting the map style 'WMS World Food Programme admin boundaries' results in an empty (gray) map.
Using version 1.21.0 of mapfx the WMS layer is shown.
Is this a bug or a misconfiguration on our side?
Furthermore the configured WMS ("http://geonode.wfp.org:80/geoserver/ows") does not work for me in both mapfx versions.
customer request to be able to select an area by mouse-down and dragging, so a toggle is needed to switch between map-panning mode and area-selection mode.
note to self: http://openlayers.org/en/latest/examples/box-selection.html dragbox with cmd/ctrl key might be better solution than toggle
needed to prevent caching calls from other parts of applications
Hello I am currently using JMapViewer which has the ability to use an offline tile source as a layer.
The offline tile source has the following structure:
/zoomLevel/X/Y.png
Source
ol.source.XYZThe Web Map Service specification allows a lot of flexibility in terms of what a client can request. Without constraints, this makes caching difficult or impossible in practice.
At the opposite extreme, a service might offer tiles only at a fixed set of zoom levels and only for a regular grid. These can be generalized as tiled layers with an XYZ source - you can consider X and Y to indicate the column and row of the grid and Z to represent the zoom level.
Is it possible to add the functionality of these offline tile sources for mapjfx?
Thanks in advance.
I am using the caching mechanism successfully in debug mode. But once packaged in a native jfx application (OS X *.app as an example) the launcher service reports the following.
4/14/16 1:03:23.348 PM launchservicesd[85]: SecTaskLoadEntitlements failed error=22
4/14/16 1:03:23.350 PM launchservicesd[85]: SecTaskLoadEntitlements failed error=22
4/14/16 1:03:23.461 PM appleeventsd[55]: SecTaskLoadEntitlements failed error=22
I did some digging to see if there is a security permission necessary. Only one I could find that may be of relevance is: https://docs.oracle.com/javase/8/docs/api/java/net/HttpURLConnection.html
Still trying to find more information on this but there appears to be something occurring with the Caching.
-Adam H.
Thank you very much for this great project. Do you have an idea whether it is possible to apply an WGS 84 (EPSG:4326) transformation/projection to OpenLayers?
https://openlayers.org/en/master/examples/reprojection.html
In this example they are using a OSM map, I wonder if this would work with bing maps too (mainly because OSM has tile loading problems still)
I'm trying to prototype some dynamic behavior with maplabels. How can I dynamically update the CssClass after click? At this moment it remains the same (initial) CssClass.
mapView.addEventHandler(MapLabelEvent.MAPLABEL_CLICKED, event -> {
event.consume();
MapLabel mapLabel1 = event.getMapLabel();
mapLabel1.setCssClass("green-label");
});
This seems to work, but is rather wastefull.
mapView.addEventHandler(MapLabelEvent.MAPLABEL_CLICKED, event -> {
event.consume();
MapLabel mapLabel1 = event.getMapLabel();
MapLabel mapLabel2 = new MapLabel(mapLabel1.getText()).setPosition(mapLabel1.getPosition()).setVisible(true).setCssClass("green-label");
mapView.removeLabel(mapLabel1);
mapView.addLabel(mapLabel2);
});
see comment in the README.md file
Hi,
Is there any method to increase maps performance?
I have added some of my own functions to manage wfs layers but it is really laggy.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.