我正在尝试使用“展开地图”显示整个世界的地震数据,但我卡住了我不理解的错误。请通过解决这些错误来帮助我
过去,我曾尝试通过将boolean值设置为true来离线运行地图,但是我没有用。
问题来自Coursera,并采用作业形式。我正在为此作业进行故障排除
Using OpenGLMapDisplay with processing.opengl.PGraphics3D
Exception in thread "Animation Thread" java.lang.NullPointerException
at module3.EarthquakeCityMap.setup(EarthquakeCityMap.java:102)
at processing.core.PApplet.handleDraw(PApplet.java:2365)
at processing.opengl.PJOGL$PGLListener.display(PJOGL.java:873)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:690)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:672)
at javax.media.opengl.awt.GLCanvas$10.run(GLCanvas.java:1383)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1277)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1131)
at javax.media.opengl.awt.GLCanvas$11.run(GLCanvas.java:1394)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:301)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
List<Marker> markers = new ArrayList<Marker>();
//Use provided parser to collect properties for each earthquake
//PointFeatures have a getLocation method
List<PointFeature> earthquakes = ParseFeed.parseEarthquake(this, earthquakesURL);
for (PointFeature eq: earthquakes) {
markers.add(new SimplePointMarker(eq.getLocation(), eq.getProperties()));
}
// Add the markers to the map so that they are displayed
map.addMarkers(markers);
int yellow = color(255,255,0);
int gray = color(150,150,150);
for(Marker mk : markers) {
if ((int) mk.getProperty("year") > 2000) {
mk.setColor(yellow);
}
else {
mk.setColor(gray);
}
}
}
@SuppressWarnings("unused")
private SimplePointMarker createMarker(PointFeature feature)
{
// To print all of the features in a PointFeature (so you can see what they are)
// uncomment the line below. Note this will only print if you call createMarker
// from setup
//System.out.println(feature.getProperties());
// Create a new SimplePointMarker at the location given by the PointFeature
SimplePointMarker marker = new SimplePointMarker(feature.getLocation());
Object magObj = feature.getProperty("magnitude");
float mag = Float.parseFloat(magObj.toString());
// Here is an example of how to use Processing's color method to generate
// an int that represents the color yellow.
int yellow = color(255, 255, 0);
// Finally return the marker
return marker;
}
public void draw() {
background(10);
map.draw();
}
答案 0 :(得分:1)
这是例外
Exception in thread "Animation Thread" java.lang.NullPointerException
这是
at module3.EarthquakeCityMap.setup(EarthquakeCityMap.java:102)
因此,您需要进入“ EarthquakeCityMap.java”的第102行,查找可能导致Null Pointer异常的原因