I'm a beginner at Android programming. I want to display to GeoPoints
that I've hardcoded in my app. But I still don't see them when I run
the app on my emulator. Help is appreciated.
Main.java
package com.rcm.mflwa;
import java.util.List;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.MyLocationOverlay;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.MotionEvent;
public class Main extends MapActivity {
/**private MyOverlay myOverlay;
private MapView mapView;
private List<Overlay> mapOverlays;
@Override
public void onCreate(Bundle sis){
super.onCreate(sis);
setContentView(R.layout.main); // in my main.xml I defined a
MapView
mapView = (MapView) findViewById(R.id.mvMain);
mapOverlays = mapView.getOverlays();
myOverlay = new MyOverlay(mapView);
mapOverlays.add(myOverlay);
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}*/
/** Called when the activity is first created. */
MapView map;
long start;
long stop;
GeoPoint touchedPoint;
MyLocationOverlay compass;
MapController controller;
Drawable d;
List<Overlay> overlayList;
List<Overlay> mapOverlays;
MyOverlay myOverlay;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
map = (MapView)findViewById(R.id.mvMain);
map.setBuiltInZoomControls(true);
mapOverlays = map.getOverlays();
myOverlay = new MyOverlay(map);
mapOverlays.add(myOverlay);
overlayList = map.getOverlays();
compass = new MyLocationOverlay(Main.this, map);
overlayList.add(compass);
controller = map.getController();
int lat = (int) (14*1E6);
int lon = (int) (121*1E6);
GeoPoint point = new GeoPoint(lat, lon);
controller.animateTo(point);
controller.setZoom(6);
d = getResources().getDrawable(R.drawable.ic_launcher);
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
compass.disableCompass();
super.onPause();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
compass.enableCompass();
super.onResume();
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}
MyOverlay.java
package com.rcm.mflwa;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Point;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.Projection;
public class MyOverlay extends Overlay {
private GeoPoint geoPoint1;
private GeoPoint geoPoint2;
private Point point1;
private Point point2;
private Projection projection;
private Paint paint;
private Path path;
public MyOverlay(MapView mapView){
projection = mapView.getProjection();
}
public void draw(Canvas canvas, MapView mapView, boolean shadow){
super.draw(canvas, mapView, shadow);
paint = new Paint();
paint.setDither(true);
paint.setColor(Color.BLUE);
paint.setStyle(Paint.Style.FILL_AND_STROKE);
paint.setStrokeJoin(Paint.Join.ROUND);
paint.setStrokeCap(Paint.Cap.ROUND);
paint.setStrokeWidth(2);
point1 = new Point();
point2 = new Point();
path = new Path();
int lat1 = (int) (14*1E6);
int lon1 = (int) (121*1E6);
int lat2 = (int) (20*1E6);
int lon2 = (int) (130*1E6);
geoPoint1 = new GeoPoint(lat1, lon1);
geoPoint2 = new GeoPoint(lat2, lon2);
projection.toPixels(geoPoint1, point1);
projection.toPixels(geoPoint2, point2);
path.moveTo(point2.x, point2.y);
path.moveTo(point1.x, point1.y);
canvas.drawPath(path, paint);
}
}
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en