• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java TileFactoryInfo类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java UIComponentTag类代码示例发布时间:2022-05-22
下一篇:
Java Streams类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap