Package de.fhpotsdam.unfolding.examples.overviewdetail

Source Code of de.fhpotsdam.unfolding.examples.overviewdetail.OverviewAndDetailMapApp

package de.fhpotsdam.unfolding.examples.overviewdetail;

import processing.core.PApplet;

import de.fhpotsdam.unfolding.UnfoldingMap;
import de.fhpotsdam.unfolding.events.EventDispatcher;
import de.fhpotsdam.unfolding.interactions.MouseHandler;

/**
* Shows an overview, and a detail map. The overview is a small-scale map, and shows the same area as the
* large-scale detail map.
*
* Both maps are interactive, and can be navigated. Each interaction is reflected in both maps. This Overview + Detail
* example shows how to setup simple connected map views.
*
*/
public class OverviewAndDetailMapApp extends PApplet {

  UnfoldingMap mapDetail;
  UnfoldingMap mapOverview;

  public void setup() {
    size(800, 600, OPENGL);

    mapDetail = new UnfoldingMap(this, "detail", 10, 10, 585, 580);
    mapDetail.setTweening(true);
    mapDetail.zoomToLevel(4);
    mapOverview = new UnfoldingMap(this, "overview", 605, 10, 185, 185);
    mapOverview.setTweening(true);

    EventDispatcher eventDispatcher = new EventDispatcher();

    // Add mouse interaction to both maps
    MouseHandler mouseHandler = new MouseHandler(this, mapDetail, mapOverview);
    eventDispatcher.addBroadcaster(mouseHandler);

    // Maps listen to each other, i.e. each interaction in one map is reflected in the other
    eventDispatcher.register(mapDetail, "pan", mapDetail.getId(), mapOverview.getId());
    eventDispatcher.register(mapDetail, "zoom", mapDetail.getId(), mapOverview.getId());
    eventDispatcher.register(mapOverview, "pan", mapDetail.getId(), mapOverview.getId());
    eventDispatcher.register(mapOverview, "zoom", mapDetail.getId(), mapOverview.getId());
  }

  public void draw() {
    background(0);

    mapDetail.draw();
    mapOverview.draw();
  }

}
TOP

Related Classes of de.fhpotsdam.unfolding.examples.overviewdetail.OverviewAndDetailMapApp

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.