Note that there are some explanatory texts on larger screens.

plurals
  1. POShow Multiple Locations near to Current Location on Google Map
    primarykey
    data
    text
    <p>Below is my class which draws an image on the current location on the google map. I need to draw two more locations on the google map. Suppose Point A has these values-</p> <pre><code>lat1: 37.33774833333334 long1: -121.88670166666667 </code></pre> <p>Point B has these values-</p> <pre><code>lat2: 37.336453 long2: -121.884985 </code></pre> <p>I need to draw Point A and Point B on the google map with an image. I already have images of those two points in my drawable folder.</p> <pre><code>public class MainActivity extends MapActivity { public static final String TAG = "GoogleMapsActivity"; private MapView mapView; private LocationManager locationManager; Geocoder geocoder; Location location; LocationListener locationListener; CountDownTimer locationtimer; MapController mapController; MapOverlay mapOverlay = new MapOverlay(); // Point A private Double lat1 = 37.33774833333334; private Double long1 = -121.88670166666667 ; // Point B private Double lat2 = 37.336453; private Double long2 = -121.884985; /** Called when the activity is first created. */ @Override protected void onCreate(Bundle icicle) { try { super.onCreate(icicle); setContentView(R.layout.activity_main); initComponents(); mapView.setBuiltInZoomControls(true); mapView.setSatellite(false); mapController = mapView.getController(); mapController.setZoom(15); locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); if (locationManager == null) { Toast.makeText(getApplicationContext(), "Location Manager Not Available", Toast.LENGTH_SHORT) .show(); return; } location = locationManager .getLastKnownLocation(LocationManager.GPS_PROVIDER); if (location == null) location = locationManager .getLastKnownLocation(LocationManager.NETWORK_PROVIDER); if (location != null) { double lat = location.getLatitude(); double lng = location.getLongitude(); Toast.makeText(getApplicationContext(), "Location Are" + lat + ":" + lng, Toast.LENGTH_SHORT) .show(); GeoPoint point = new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6)); mapController.animateTo(point, new Message()); mapOverlay.setPointToDraw(point); List&lt;Overlay&gt; listOfOverlays = mapView.getOverlays(); listOfOverlays.clear(); listOfOverlays.add(mapOverlay); } locationListener = new LocationListener() { @Override public void onStatusChanged(String arg0, int arg1, Bundle arg2) { } @Override public void onProviderEnabled(String arg0) { } @Override public void onProviderDisabled(String arg0) { } @Override public void onLocationChanged(Location l) { location = l; locationManager.removeUpdates(this); if (l.getLatitude() == 0 || l.getLongitude() == 0) { } else { double lat = l.getLatitude(); double lng = l.getLongitude(); Toast.makeText(getApplicationContext(), "Location Are" + lat + ":" + lng, Toast.LENGTH_SHORT).show(); } } }; if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) locationManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 1000, 10f, locationListener); if (locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)){ locationManager.requestLocationUpdates( LocationManager.NETWORK_PROVIDER, 1000, 10f, locationListener); } locationtimer = new CountDownTimer(30000, 5000) { @Override public void onTick(long millisUntilFinished) { if (location != null) locationtimer.cancel(); } @Override public void onFinish() { if (location == null) { } } }; locationtimer.start(); } catch(Exception e) { System.out.println(e); } } public MapView getMapView() { return this.mapView; } private void initComponents() { mapView = (MapView) findViewById(R.id.mapView); } @Override protected boolean isRouteDisplayed() { return false; } </code></pre> <p>The Below class is the continuation from the above. In the below class I am showing my current location on the google map. So I think I need to make changes in this class only to show those two points also on the google map.</p> <pre><code> class MapOverlay extends Overlay { private GeoPoint pointToDraw; public void setPointToDraw(GeoPoint point) { pointToDraw = point; } public GeoPoint getPointToDraw() { return pointToDraw; } @Override public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when) { super.draw(canvas, mapView, shadow); Point screenPts = new Point(); mapView.getProjection().toPixels(pointToDraw, screenPts); Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.current_user); canvas.drawBitmap(bmp, screenPts.x, screenPts.y - 24, null); return true; } } } </code></pre> <p>Any thoughts will be appreciated, how can I show two Points A and Point B on Google Map as well.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload