/** creates marker for tweet and its to map */ private void addTweet(Tweet t) { if (t.getText() == null) { // ignore tweets without text return; } GeoCoordinate gc = t.getUserCoordinate(); boolean addTweet = true; cleanOldest(); if (map.getZoomLevel() > 0) { GeoBoundingBox gbb = new GeoBoundingBox( map.pixelToGeo(new Point(0, 0)), map.pixelToGeo(new Point(map.getWidth(), map.getHeight()))); addTweet = gbb.contains(gc); } if (addTweet) { MapStandardMarker msm = mapFactory.createStandardMarker(gc, 100, "", MapStandardMarker.BALLOON); msm.setColor(MARKER_COLOR); map.addMapObject(msm); addedTweets.addData(msm, t); tweetAge.put(msm, new Long(t.getCreatedTime())); repaint(); } }
/** * Adds marker to center of the screen and returns its coordinate * * @return coordinate added */ private GeoCoordinate selectPosition() { Point center = new Point(map.getWidth() / 2, map.getHeight() / 2); GeoCoordinate gc = map.pixelToGeo(center); if (marker == null) { // create new marker marker = mapFactory.createStandardMarker(gc, 10, null, MapStandardMarker.BALLOON); map.addMapObject(marker); } else { // move existing marker marker.setCoordinate(gc); } return gc; }