~berthold-daum/zora/trunk

« back to all changes in this revision

Viewing changes to com.bdaum.zoom.gps.leaflet/src/com/bdaum/zoom/gps/leaflet/internal/views/MapComponent.java

  • Committer: bdaum
  • Date: 2015-12-26 10:21:51 UTC
  • Revision ID: berthold.daum@bdaum.de-20151226102151-44f1j5113167thb9
VersionĀ 2.4.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package com.bdaum.zoom.gps.leaflet.internal.views;
 
2
 
 
3
import java.net.URL;
 
4
 
 
5
import org.eclipse.core.runtime.CoreException;
 
6
import org.eclipse.core.runtime.IConfigurationElement;
 
7
import org.eclipse.core.runtime.IExecutableExtension;
 
8
import org.eclipse.osgi.util.NLS;
 
9
 
 
10
import com.bdaum.zoom.gps.leaflet.internal.LeafletActivator;
 
11
import com.bdaum.zoom.gps.widgets.AbstractMapComponent;
 
12
 
 
13
public class MapComponent extends AbstractMapComponent implements
 
14
                IExecutableExtension {
 
15
 
 
16
        private URL leafletUrl;
 
17
        private URL zoomMapUrl;
 
18
        private URL makimarkersUrl;
 
19
        private URL leafletCss;
 
20
        private URL providersUrl;
 
21
        private URL minimapUrl;
 
22
        private URL minimapCss;
 
23
        private String mapProvider;
 
24
        private URL markerClusterGroupUrl;
 
25
        private URL markerClusterGroupCss;
 
26
        private URL markerClusterGroupDefaultCss;
 
27
 
 
28
        public void setInitializationData(IConfigurationElement config,
 
29
                        String propertyName, Object data) throws CoreException {
 
30
                if (data instanceof String)
 
31
                        mapProvider = (String) data;
 
32
        }
 
33
 
 
34
        @Override
 
35
        protected void findResources() {
 
36
                leafletUrl = findUrl("/gmap/leaflet-src.js"); //$NON-NLS-1$
 
37
                providersUrl = findUrl("/gmap/leaflet-providers.js"); //$NON-NLS-1$
 
38
                leafletCss = findUrl("/gmap/leaflet.css"); //$NON-NLS-1$
 
39
                zoomMapUrl = findUrl("/gmap/zoomMap.js"); //$NON-NLS-1$
 
40
                makimarkersUrl = findUrl("/gmap/Leaflet.MakiMarkers.js"); //$NON-NLS-1$
 
41
                minimapUrl = findUrl("/gmap/Control.MiniMap.js"); //$NON-NLS-1$
 
42
                minimapCss = findUrl("/gmap/Control.MiniMap.css"); //$NON-NLS-1$
 
43
                markerClusterGroupUrl = findUrl("/gmap/leaflet.markercluster-src.js"); //$NON-NLS-1$
 
44
                markerClusterGroupCss = findUrl("/gmap/MarkerCluster.css"); //$NON-NLS-1$
 
45
                markerClusterGroupDefaultCss = findUrl("/gmap/MarkerCluster.Default.css"); //$NON-NLS-1$
 
46
        }
 
47
 
 
48
        @Override
 
49
        protected String createSetPosDetailScript(HistoryItem item) {
 
50
                return NLS
 
51
                                .bind("map.setZoom({0});\nmap.panTo({1});", (int) item.getDetail(), createLatLng(item.getLatitude(), item.getLongitude())); //$NON-NLS-1$
 
52
        }
 
53
 
 
54
        private URL findUrl(String path) {
 
55
                return super.findUrl(LeafletActivator.getDefault().getBundle(), path);
 
56
        }
 
57
 
 
58
        @Override
 
59
        protected String getMappingSystemName() {
 
60
                return "Leaflet"; //$NON-NLS-1$
 
61
        }
 
62
 
 
63
        @Override
 
64
        protected String getAppKey() {
 
65
                return null;
 
66
        }
 
67
 
 
68
        @Override
 
69
        protected String createAdditionalVariables() {
 
70
                StringBuilder sb = new StringBuilder();
 
71
                sb.append("var selectedProvider = \"").append(mapProvider) //$NON-NLS-1$
 
72
                                .append("\";\n"); //$NON-NLS-1$
 
73
                return sb.toString();
 
74
        }
 
75
 
 
76
        @Override
 
77
        protected String createScriptEntries() {
 
78
                StringBuilder sb = new StringBuilder();
 
79
                sb.append(createStyleEntry(leafletCss)).append('\n');
 
80
                sb.append(createStyleEntry(minimapCss)).append('\n');
 
81
                sb.append(createScriptEntry(leafletUrl)).append('\n');
 
82
                sb.append(createScriptEntry(makimarkersUrl)).append('\n');
 
83
                sb.append(createScriptEntry(providersUrl)).append('\n');
 
84
                sb.append(createScriptEntry(minimapUrl)).append('\n');
 
85
                sb.append(createScriptEntry(markerClusterGroupUrl)).append('\n');
 
86
                sb.append(createStyleEntry(markerClusterGroupCss)).append('\n');
 
87
                sb.append(createStyleEntry(markerClusterGroupDefaultCss)).append('\n');
 
88
                sb.append(createScriptEntry(zoomMapUrl));
 
89
                return sb.toString();
 
90
        }
 
91
 
 
92
        @Override
 
93
        protected String createLatLng(double lat, double lon) {
 
94
                return NLS
 
95
                                .bind("L.latLng({0},{1})", usformat.format(lat), usformat.format(lon)); //$NON-NLS-1$
 
96
        }
 
97
 
 
98
        @Override
 
99
        protected String createLatLngBounds(double swLat, double swLon,
 
100
                        double neLat, double neLon) {
 
101
                return NLS
 
102
                                .bind("L.latLngBounds({0},{1})", createLatLng(swLat, swLon), createLatLng(neLat, neLon)); //$NON-NLS-1$;
 
103
        }
 
104
 
 
105
        /*
 
106
         * (non-Javadoc)
 
107
         *
 
108
         * @see com.bdaum.zoom.gps.IMapComponent#dispose()
 
109
         */
 
110
 
 
111
        @Override
 
112
        public void dispose() {
 
113
                getControl().dispose();
 
114
        }
 
115
 
 
116
}