本文整理汇总了Java中org.jxmapviewer.viewer.TileFactoryInfo类的典型用法代码示例。如果您正苦于以下问题:Java TileFactoryInfo类的具体用法?Java TileFactoryInfo怎么用?Java TileFactoryInfo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
TileFactoryInfo类属于org.jxmapviewer.viewer包,在下文中一共展示了TileFactoryInfo类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: zoomToLevel
import org.jxmapviewer.viewer.TileFactoryInfo; //导入依赖的package包/类
/**
* Sets the zoom level to a given value.
* If the value is out of limits, the map will zoom to the closest level possible.
*
* @param level Zoom level.
*/
public void zoomToLevel(int level)
{
if (canvas.getState() == CanvasOption.OSMState)
{
final TileFactoryInfo info = mapViewer.getTileFactory().getInfo();
if (level > info.getMaximumZoomLevel()) level = info.getMaximumZoomLevel();
if (level < info.getMinimumZoomLevel()) level = info.getMinimumZoomLevel();
mapViewer.setZoom(level);
// Align the topology to the newly change OSM map.
alignZoomJUNGToOSMMap();
} else
{
throw new OSMException("Map is currently deactivated");
}
}
开发者ID:girtel,项目名称:Net2Plan,代码行数:24,代码来源:OSMController.java
示例2: getBitmapCoordinate
import org.jxmapviewer.viewer.TileFactoryInfo; //导入依赖的package包/类
/**
* Given a position (latitude/longitude pair) and a zoom level, return the appropriate point in <em>pixels</em>. The
* zoom level is necessary because pixel coordinates are in terms of the zoom level
* @param latitude the latitude
* @param longitude the longitude
* @param zoomLevel the zoom level to extract the pixel coordinate for
* @param info the tile factory info
* @return the coordinate
*/
public static Point2D getBitmapCoordinate(double latitude, double longitude, int zoomLevel, TileFactoryInfo info)
{
double x = info.getMapCenterInPixelsAtZoom(zoomLevel).getX() + longitude
* info.getLongitudeDegreeWidthInPixels(zoomLevel);
double e = Math.sin(latitude * (Math.PI / 180.0));
if (e > 0.9999)
{
e = 0.9999;
}
if (e < -0.9999)
{
e = -0.9999;
}
double y = info.getMapCenterInPixelsAtZoom(zoomLevel).getY() + 0.5 * Math.log((1 + e) / (1 - e)) * -1
* (info.getLongitudeRadianWidthInPixels(zoomLevel));
return new Point2D.Double(x, y);
}
开发者ID:szabob94,项目名称:vedes4,代码行数:27,代码来源:GeoUtil.java
示例3: EmptyTileFactory
import org.jxmapviewer.viewer.TileFactoryInfo; //导入依赖的package包/类
/**
* Creates a new instance of EmptyTileFactory using the specified info.
* @param info the tile factory info
*/
public EmptyTileFactory(TileFactoryInfo info)
{
super(info);
int tileSize = info.getTileSize(info.getMinimumZoomLevel());
emptyTile = new BufferedImage(tileSize, tileSize, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = emptyTile.createGraphics();
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.setColor(Color.GRAY);
g.fillRect(0, 0, tileSize, tileSize);
g.setColor(Color.WHITE);
g.drawOval(10, 10, tileSize - 20, tileSize - 20);
g.fillOval(70, 50, 20, 20);
g.fillOval(tileSize - 90, 50, 20, 20);
g.fillOval(tileSize / 2 - 10, tileSize / 2 - 10, 20, 20);
g.dispose();
}
开发者ID:szabob94,项目名称:vedes4,代码行数:21,代码来源:EmptyTileFactory.java
示例4: setDefaultProvider
import org.jxmapviewer.viewer.TileFactoryInfo; //导入依赖的package包/类
/**
* @param prov the default provider
*/
public void setDefaultProvider(DefaultProviders prov)
{
DefaultProviders old = this.defaultProvider;
this.defaultProvider = prov;
if (prov == DefaultProviders.SwingLabsBlueMarble)
{
setTileFactory(new CylindricalProjectionTileFactory());
setZoom(3);
}
if (prov == DefaultProviders.OpenStreetMaps)
{
TileFactoryInfo info = new OSMTileFactoryInfo();
TileFactory tf = new DefaultTileFactory(info);
setTileFactory(tf);
setZoom(11);
setAddressLocation(new GeoPosition(51.5, 0));
}
firePropertyChange("defaultProvider", old, prov);
repaint();
}
开发者ID:szabob94,项目名称:vedes4,代码行数:24,代码来源:JXMapKit.java
示例5: OSMPanel
import org.jxmapviewer.viewer.TileFactoryInfo; //导入依赖的package包/类
public OSMPanel()
{
// Create a TileFactoryInfo for OpenStreetMap
final TileFactoryInfo info = new OSMTileFactoryInfo();
final DefaultTileFactory tileFactory = new DefaultTileFactory(info);
this.setTileFactory(tileFactory);
// Use 8 threads in parallel to load the tiles
tileFactory.setThreadPoolSize(NUMBER_OF_THREADS);
}
开发者ID:girtel,项目名称:Net2Plan,代码行数:12,代码来源:OSMPanel.java
示例6: MapPanel
import org.jxmapviewer.viewer.TileFactoryInfo; //导入依赖的package包/类
/**
* Konstruktor
* @param host URL usługi TMS
* @param centerPosition Współrzędne centralnego punktu mapy
*/
public MapPanel(String host, GeoPosition centerPosition) {
super();
this.centerPosition = centerPosition;
// niezaimplementowane w JXMapKit...
setDataProviderCreditShown(false);
TileFactoryInfo tileFactoryInfo = new TileFactoryInfo(2, 16, 18, 256, true, true, host, "x", "y", "z") {
@Override
public String getTileUrl(int x, int y, int zoom) {
//return this.baseURL +"?x="+x+"&y="+y+"&z="+(this.getTotalMapZoom()-zoom);
return this.baseURL + "/" + (this.getTotalMapZoom()-zoom) + "/" + x + "/" + y + ".png";
}
};
setTileFactory(new DefaultTileFactory(tileFactoryInfo));
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.gridwidth = 2;
gbc.gridheight = 1;
gbc.anchor = GridBagConstraints.NORTHEAST;
getMainMap().add(new OSMCreditPanel(), gbc);
}
开发者ID:makaw,项目名称:somado,代码行数:37,代码来源:MapPanel.java
示例7: setZoom
import org.jxmapviewer.viewer.TileFactoryInfo; //导入依赖的package包/类
/**
* Set the current zoom level
* @param zoom the new zoom level
*/
public void setZoom(int zoom)
{
if (zoom == this.zoomLevel)
{
return;
}
TileFactoryInfo info = getTileFactory().getInfo();
// don't repaint if we are out of the valid zoom levels
if (info != null && (zoom < info.getMinimumZoomLevel() || zoom > info.getMaximumZoomLevel()))
{
return;
}
// if(zoom >= 0 && zoom <= 15 && zoom != this.zoom) {
int oldzoom = this.zoomLevel;
Point2D oldCenter = getCenter();
Dimension oldMapSize = getTileFactory().getMapSize(oldzoom);
this.zoomLevel = zoom;
this.firePropertyChange("zoom", oldzoom, zoom);
Dimension mapSize = getTileFactory().getMapSize(zoom);
setCenter(new Point2D.Double(oldCenter.getX() * (mapSize.getWidth() / oldMapSize.getWidth()), oldCenter.getY()
* (mapSize.getHeight() / oldMapSize.getHeight())));
repaint();
}
开发者ID:szabob94,项目名称:vedes4,代码行数:33,代码来源:JXMapViewer.java
示例8: isValidTile
import org.jxmapviewer.viewer.TileFactoryInfo; //导入依赖的package包/类
/**
* @param x the x value
* @param y the y value
* @param zoomLevel the zoom level
* @param info the tile factory info
* @return true if this point in <em>tiles</em> is valid at this zoom level. For example, if the zoom level is 0
* (zoomed all the way out, where there is only one tile), then x,y must be 0,0
*/
public static boolean isValidTile(int x, int y, int zoomLevel, TileFactoryInfo info)
{
// int x = (int)coord.getX();
// int y = (int)coord.getY();
// if off the map to the top or left
if (x < 0 || y < 0)
{
return false;
}
// if of the map to the right
if (info.getMapCenterInPixelsAtZoom(zoomLevel).getX() * 2 <= x * info.getTileSize(zoomLevel))
{
return false;
}
// if off the map to the bottom
if (info.getMapCenterInPixelsAtZoom(zoomLevel).getY() * 2 <= y * info.getTileSize(zoomLevel))
{
return false;
}
// if out of zoom bounds
if (zoomLevel < info.getMinimumZoomLevel() || zoomLevel > info.getMaximumZoomLevel())
{
return false;
}
return true;
}
开发者ID:szabob94,项目名称:vedes4,代码行数:35,代码来源:GeoUtil.java
示例9: getPosition
import org.jxmapviewer.viewer.TileFactoryInfo; //导入依赖的package包/类
/**
* Convert an on screen pixel coordinate and a zoom level to a geo position
* @param pixelCoordinate the coordinate in pixels
* @param zoom the zoom level
* @param info the tile factory info
* @return a geo position
*/
public static GeoPosition getPosition(Point2D pixelCoordinate, int zoom, TileFactoryInfo info)
{
// p(" --bitmap to latlon : " + coord + " " + zoom);
double wx = pixelCoordinate.getX();
double wy = pixelCoordinate.getY();
// this reverses getBitmapCoordinates
double flon = (wx - info.getMapCenterInPixelsAtZoom(zoom).getX()) / info.getLongitudeDegreeWidthInPixels(zoom);
double e1 = (wy - info.getMapCenterInPixelsAtZoom(zoom).getY())
/ (-1 * info.getLongitudeRadianWidthInPixels(zoom));
double e2 = (2 * Math.atan(Math.exp(e1)) - Math.PI / 2) / (Math.PI / 180.0);
double flat = e2;
GeoPosition wc = new GeoPosition(flat, flon);
return wc;
}
开发者ID:szabob94,项目名称:vedes4,代码行数:22,代码来源:GeoUtil.java
示例10: main
import org.jxmapviewer.viewer.TileFactoryInfo; //导入依赖的package包/类
/**
* @param args the program args
*/
public static void main(String... args)
{
SwingUtilities.invokeLater(new Runnable()
{
@Override
public void run()
{
JXMapKit kit = new JXMapKit();
kit.setDefaultProvider(DefaultProviders.OpenStreetMaps);
TileFactoryInfo info = new OSMTileFactoryInfo();
TileFactory tf = new DefaultTileFactory(info);
kit.setTileFactory(tf);
kit.setZoom(14);
kit.setAddressLocation(new GeoPosition(51.5, 0));
kit.getMainMap().setDrawTileBorders(true);
kit.getMainMap().setRestrictOutsidePanning(true);
kit.getMainMap().setHorizontalWrapped(false);
((DefaultTileFactory) kit.getMainMap().getTileFactory()).setThreadPoolSize(8);
JFrame frame = new JFrame("JXMapKit test");
frame.add(kit);
frame.pack();
frame.setSize(500, 300);
frame.setVisible(true);
}
});
}
开发者ID:szabob94,项目名称:vedes4,代码行数:32,代码来源:JXMapKit.java
示例11: main
import org.jxmapviewer.viewer.TileFactoryInfo; //导入依赖的package包/类
/**
* @param args the program args (ignored)
*/
public static void main(String[] args)
{
// Create a TileFactoryInfo for Virtual Earth
TileFactoryInfo info = new VirtualEarthTileFactoryInfo(VirtualEarthTileFactoryInfo.MAP);
DefaultTileFactory tileFactory = new DefaultTileFactory(info);
tileFactory.setThreadPoolSize(8);
// Setup local file cache
File cacheDir = new File(System.getProperty("user.home") + File.separator + ".jxmapviewer2");
LocalResponseCache.installResponseCache(info.getBaseURL(), cacheDir, false);
// Setup JXMapViewer
JXMapViewer mapViewer = new JXMapViewer();
mapViewer.setTileFactory(tileFactory);
GeoPosition frankfurt = new GeoPosition(50, 7, 0, 8, 41, 0);
GeoPosition wiesbaden = new GeoPosition(50, 5, 0, 8, 14, 0);
GeoPosition mainz = new GeoPosition(50, 0, 0, 8, 16, 0);
GeoPosition darmstadt = new GeoPosition(49, 52, 0, 8, 39, 0);
GeoPosition offenbach = new GeoPosition(50, 6, 0, 8, 46, 0);
// Set the focus
mapViewer.setZoom(10);
mapViewer.setAddressLocation(frankfurt);
// Add interactions
MouseInputListener mia = new PanMouseInputListener(mapViewer);
mapViewer.addMouseListener(mia);
mapViewer.addMouseMotionListener(mia);
mapViewer.addMouseListener(new CenterMapListener(mapViewer));
mapViewer.addMouseWheelListener(new ZoomMouseWheelListenerCenter(mapViewer));
mapViewer.addKeyListener(new PanKeyListener(mapViewer));
// Create waypoints from the geo-positions
Set<MyWaypoint> waypoints = new HashSet<MyWaypoint>(Arrays.asList(
new MyWaypoint("F", Color.ORANGE, frankfurt),
new MyWaypoint("W", Color.CYAN, wiesbaden),
new MyWaypoint("M", Color.GRAY, mainz),
new MyWaypoint("D", Color.MAGENTA, darmstadt),
new MyWaypoint("O", Color.GREEN, offenbach)));
// Create a waypoint painter that takes all the waypoints
WaypointPainter<MyWaypoint> waypointPainter = new WaypointPainter<MyWaypoint>();
waypointPainter.setWaypoints(waypoints);
waypointPainter.setRenderer(new MCWaypointRenderer());
mapViewer.setOverlayPainter(waypointPainter);
// Display the viewer in a JFrame
JFrame frame = new JFrame("JXMapviewer2 Example 4");
frame.getContentPane().add(mapViewer);
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
开发者ID:jocopa3,项目名称:BlocktopographPC-GUI,代码行数:59,代码来源:Sample4.java
示例12: SwingMap
import org.jxmapviewer.viewer.TileFactoryInfo; //导入依赖的package包/类
/**
* @param args the program args (ignored)
*/
public SwingMap(GeoPosition initialPosition) {
super(new BorderLayout());
// Create a TileFactoryInfo for OpenStreetMap
TileFactoryInfo info = new OSMTileFactoryInfo();
DefaultTileFactory tileFactory = new DefaultTileFactory(info);
tileFactory.setThreadPoolSize(8);
// Setup local file cache
File cacheDir = new File(System.getProperty("user.home") + File.separator + ".jxmapviewer2");
LocalResponseCache.installResponseCache(info.getBaseURL(), cacheDir, false);
// Setup JXMapViewer
JXMapViewer mapViewer = new JXMapViewer();
mapViewer.setTileFactory(tileFactory);
// Set the focus
mapViewer.setZoom(7);
mapViewer.setAddressLocation(initialPosition);
// Add interactions
MouseInputListener mia = new PanMouseInputListener(mapViewer);
mapViewer.addMouseListener(mia);
mapViewer.addMouseMotionListener(mia);
mapViewer.addMouseListener(new CenterMapListener(mapViewer));
mapViewer.addMouseWheelListener(new ZoomMouseWheelListenerCursor(mapViewer));
mapViewer.addKeyListener(new PanKeyListener(mapViewer));
// Add a selection painter
SelectionAdapter sa = new SelectionAdapter(mapViewer);
SelectionPainter sp = new SelectionPainter(sa);
mapViewer.addMouseListener(sa);
mapViewer.addMouseMotionListener(sa);
mapViewer.setOverlayPainter(sp);
add(mapViewer, BorderLayout.CENTER);
}
开发者ID:automenta,项目名称:netentionj-desktop,代码行数:44,代码来源:SwingMap.java
示例13: main
import org.jxmapviewer.viewer.TileFactoryInfo; //导入依赖的package包/类
/**
* @param args the program args (ignored)
*/
public static void main(String[] args)
{
// Create a TileFactoryInfo for OpenStreetMap
TileFactoryInfo info = new OSMTileFactoryInfo();
DefaultTileFactory tileFactory = new DefaultTileFactory(info);
tileFactory.setThreadPoolSize(8);
// Setup local file cache
File cacheDir = new File(System.getProperty("user.home") + File.separator + ".jxmapviewer2");
LocalResponseCache.installResponseCache(info.getBaseURL(), cacheDir, false);
// Setup JXMapViewer
JXMapViewer mapViewer = new JXMapViewer();
mapViewer.setTileFactory(tileFactory);
GeoPosition frankfurt = new GeoPosition(50.11, 8.68);
// Set the focus
mapViewer.setZoom(7);
mapViewer.setAddressLocation(frankfurt);
// Add interactions
MouseInputListener mia = new PanMouseInputListener(mapViewer);
mapViewer.addMouseListener(mia);
mapViewer.addMouseMotionListener(mia);
mapViewer.addMouseListener(new CenterMapListener(mapViewer));
mapViewer.addMouseWheelListener(new ZoomMouseWheelListenerCursor(mapViewer));
mapViewer.addKeyListener(new PanKeyListener(mapViewer));
// Add a selection painter
SelectionAdapter sa = new SelectionAdapter(mapViewer);
SelectionPainter sp = new SelectionPainter(sa);
mapViewer.addMouseListener(sa);
mapViewer.addMouseMotionListener(sa);
mapViewer.setOverlayPainter(sp);
// Display the viewer in a JFrame
JFrame frame = new JFrame("JXMapviewer2 Example 3");
frame.setLayout(new BorderLayout());
frame.add(new JLabel("Use left mouse button to pan, mouse wheel to zoom and right mouse to select"), BorderLayout.NORTH);
frame.add(mapViewer);
frame.setSize(800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
开发者ID:automenta,项目名称:netentionj-desktop,代码行数:53,代码来源:JXMapViewerSample3.java
示例14: zoomToBestFit
import org.jxmapviewer.viewer.TileFactoryInfo; //导入依赖的package包/类
/**
* Zoom and center the map to a best fit around the input GeoPositions.
* Best fit is defined as the most zoomed-in possible view where both
* the width and height of a bounding box around the positions take up
* no more than maxFraction of the viewport width or height respectively.
* @param positions A set of GeoPositions to calculate the new zoom from
* @param maxFraction the maximum fraction of the viewport that should be covered
*/
public void zoomToBestFit(Set<GeoPosition> positions, double maxFraction)
{
if (positions.isEmpty())
return;
if (maxFraction <= 0 || maxFraction > 1)
throw new IllegalArgumentException("maxFraction must be between 0 and 1");
TileFactory tileFactory = getTileFactory();
TileFactoryInfo info = tileFactory.getInfo();
if(info == null)
return;
// set to central position initially
Rectangle2D bounds=generateBoundingRect(positions, getZoom());
Point2D bc = new Point2D.Double(bounds.getCenterX(),bounds.getCenterY());
GeoPosition centre = tileFactory.pixelToGeo(bc, getZoom());
setCenterPosition(centre);
if (positions.size() == 1)
return;
// set map to maximum zoomed out
setZoom(info.getMaximumZoomLevel());
// repeatedly zoom in until we find the first zoom level where either the width or height
// of the points takes up more than the max fraction of the viewport
int bestZoom = getZoom();
Rectangle2D viewport = getViewportBounds();
while (true)
{
// is this zoom still OK?
bounds = generateBoundingRect(positions, getZoom());
if (bounds.getWidth() < viewport.getWidth() * maxFraction &&
bounds.getHeight() < viewport.getHeight()* maxFraction)
{
bestZoom = getZoom();
}
else
{
break;
}
if (getZoom() == info.getMinimumZoomLevel())
{
break;
}
else
{
setZoom(getZoom()-1);
}
}
setZoom(bestZoom);
}
开发者ID:szabob94,项目名称:vedes4,代码行数:67,代码来源:JXMapViewer.java
示例15: getMapSize
import org.jxmapviewer.viewer.TileFactoryInfo; //导入依赖的package包/类
/**
* @param zoom the zoom level
* @param info the tile factory info
* @return the size of the map at the given zoom, in tiles (num tiles tall by num tiles wide)
*/
public static Dimension getMapSize(int zoom, TileFactoryInfo info)
{
return new Dimension(info.getMapWidthInTilesAtZoom(zoom), info.getMapWidthInTilesAtZoom(zoom));
}
开发者ID:szabob94,项目名称:vedes4,代码行数:10,代码来源:GeoUtil.java
注:本文中的org.jxmapviewer.viewer.TileFactoryInfo类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论