1

我一直在尝试使用 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();
    }
}

有人可以告诉我如何使用命令行运行它吗?

4

0 回答 0