我一直在尝试使用 Eclipse 中的展开地图库运行一个项目。为了更好地理解该项目,我想通过命令行运行它。但是,每当我尝试使用 javac 使用命令编译它时javac -cp ./lib/*.jar HelloWorld.java
,它一直在生成错误
HelloWorld.java:3: error: package processing.core does not exist
import processing.core.PApplet;
^
HelloWorld.java:4: error: package de.fhpotsdam.unfolding does not exist
import de.fhpotsdam.unfolding.UnfoldingMap;
^
HelloWorld.java:5: error: package de.fhpotsdam.unfolding.geo does not exist
import de.fhpotsdam.unfolding.geo.Location;
^
HelloWorld.java:6: error: package de.fhpotsdam.unfolding.providers does not exist
import de.fhpotsdam.unfolding.providers.AbstractMapProvider;
^
HelloWorld.java:7: error: package de.fhpotsdam.unfolding.providers does not exist
import de.fhpotsdam.unfolding.providers.Google;
^
HelloWorld.java:8: error: package de.fhpotsdam.unfolding.providers does not exist
import de.fhpotsdam.unfolding.providers.MBTilesMapProvider;
^
HelloWorld.java:9: error: package de.fhpotsdam.unfolding.utils does not exist
import de.fhpotsdam.unfolding.utils.MapUtils;
^
HelloWorld.java:17: error: cannot find symbol
public class HelloWorld extends PApplet
^
symbol: class PApplet
HelloWorld.java:33: error: cannot find symbol
UnfoldingMap map1;
^
symbol: class UnfoldingMap
location: class HelloWorld
HelloWorld.java:36: error: cannot find symbol
UnfoldingMap map2;
^
symbol: class UnfoldingMap
location: class HelloWorld
HelloWorld.java:39: error: cannot find symbol
size(800, 600, P2D); // Set up the Applet window to be 800x600
^
symbol: variable P2D
location: class HelloWorld
HelloWorld.java:46: error: cannot find symbol
this.background(200, 200, 200);
^
symbol: method background(int,int,int)
HelloWorld.java:49: error: cannot find symbol
AbstractMapProvider provider = new Google.GoogleMapProvider();
^
symbol: class AbstractMapProvider
location: class HelloWorld
HelloWorld.java:49: error: package Google does not exist
AbstractMapProvider provider = new Google.GoogleMapProvider();
^
HelloWorld.java:56: error: cannot find symbol
provider = new MBTilesMapProvider(mbTilesString);
^
symbol: class MBTilesMapProvider
location: class HelloWorld
HelloWorld.java:68: error: cannot find symbol
map1 = new UnfoldingMap(this, 50, 50, 350, 500, provider);
^
symbol: class UnfoldingMap
location: class HelloWorld
HelloWorld.java:72: error: cannot find symbol
map1.zoomAndPanTo(zoomLevel, new Location(32.9f, -117.2f));
^
symbol: class Location
location: class HelloWorld
HelloWorld.java:75: error: cannot find symbol
MapUtils.createDefaultEventDispatcher(this, map1);
^
symbol: variable MapUtils
location: class HelloWorld
18 errors
这是该程序的示例代码:
package module1;
import processing.core.PApplet;
import de.fhpotsdam.unfolding.UnfoldingMap;
import de.fhpotsdam.unfolding.geo.Location;
import de.fhpotsdam.unfolding.providers.AbstractMapProvider;
import de.fhpotsdam.unfolding.providers.Google;
import de.fhpotsdam.unfolding.providers.MBTilesMapProvider;
import de.fhpotsdam.unfolding.utils.MapUtils;
/** HelloWorld
* An application with two maps side-by-side zoomed in on different locations.
* Author: UC San Diego Coursera Intermediate Programming team
* @author Your name here
* Date: July 17, 2015
* */
public class HelloWorld extends PApplet
{
/** Your goal: add code to display second map, zoom in, and customize the background.
* Feel free to copy and use this code, adding to it, modifying it, etc.
* Don't forget the import lines above. */
// You can ignore this. It's to keep eclipse from reporting a warning
private static final long serialVersionUID = 1L;
/** This is where to find the local tiles, for working without an Internet connection */
public static String mbTilesString = "blankLight-1-3.mbtiles";
// IF YOU ARE WORKING OFFLINE: Change the value of this variable to true
private static final boolean offline = false;
/** The map we use to display our home town: La Jolla, CA */
UnfoldingMap map1;
/** The map you will use to display your home town */
UnfoldingMap map2;
public void setup() {
size(800, 600, P2D); // Set up the Applet window to be 800x600
// The OPENGL argument indicates to use the
// Processing library's 2D drawing
// You'll learn more about processing in Module 3
// This sets the background color for the Applet.
// Play around with these numbers and see what happens!
this.background(200, 200, 200);
// Select a map provider
AbstractMapProvider provider = new Google.GoogleMapProvider();
// Set a zoom level
int zoomLevel = 10;
if (offline) {
// If you are working offline, you need to use this provider
// to work with the maps that are local on your computer.
provider = new MBTilesMapProvider(mbTilesString);
// 3 is the maximum zoom level for working offline
zoomLevel = 3;
}
// Create a new UnfoldingMap to be displayed in this window.
// The 2nd-5th arguments give the map's x, y, width and height
// When you create your map we want you to play around with these
// arguments to get your second map in the right place.
// The 6th argument specifies the map provider.
// There are several providers built-in.
// Note if you are working offline you must use the MBTilesMapProvider
map1 = new UnfoldingMap(this, 50, 50, 350, 500, provider);
// The next line zooms in and centers the map at
// 32.9 (latitude) and -117.2 (longitude)
map1.zoomAndPanTo(zoomLevel, new Location(32.9f, -117.2f));
// This line makes the map interactive
MapUtils.createDefaultEventDispatcher(this, map1);
// TODO: Add code here that creates map2
// Then you'll modify draw() below
}
/** Draw the Applet window. */
public void draw() {
// So far we only draw map1...
// TODO: Add code so that both maps are displayed
map1.draw();
}
}
有人可以告诉我如何使用命令行运行它吗?