Thanks Igor, it was very useful

On Dec 9, 2:35 am, ip332 <iprile...@gmail.com> wrote:
> Here is the actual code to show an image on top of the Google map.
> Regards
> Igor
> =======================
> package com.map.overlay;
>
> 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.Overlay;
>
> import android.graphics.Bitmap;
> import android.graphics.BitmapFactory;
> import android.graphics.Canvas;
> import android.graphics.Point;
> import android.graphics.Rect;
> import android.os.Bundle;
>
> public class MyOverlay extends MapActivity {
>         Bitmap          bmp;    // loaded bitmap in memory
>         GeoPoint        min;    // top left corner (lat/long)
>         GeoPoint        max;    // right bottom corner (lat/long)
>
>         @Override
>         public void onCreate(Bundle savedInstanceState) {
>                 super.onCreate(savedInstanceState);
>                 setContentView(R.layout.main);
>
>                 bmp = BitmapFactory.decodeFile("/sdcard/test.bmp");   // load 
> bitmap
> (can use JPG,PNG,etc.)
>                 min = new GeoPoint(37374000,-121913000);                // 
> bounding rectangle
>                 max = new GeoPoint(37375000,-121912000);
>
>                 MapView mapView = (MapView) findViewById(R.id.mapView);
>                 mapView.setSatellite(true);                             // 
> switch to the satellite
> view
>                 MapController ctrl = mapView.getController();
>                 int x = (min.getLongitudeE6() + max.getLongitudeE6())/ 2;     
>   // select
> map center
>                 int y = (min.getLatitudeE6() + max.getLatitudeE6())/ 2;
>                 ctrl.setCenter(new GeoPoint(y,x));
>                 ctrl.setZoom(21);                                       // 
> set scale
>                 mapView.setBuiltInZoomControls(true);                   // 
> enable zoom controls
>
>                 MapOverlay mapOverlay = new MapOverlay();
>                 List<Overlay> listOfOverlays = mapView.getOverlays();
>                 listOfOverlays.clear();
>                 listOfOverlays.add(mapOverlay);
>
>                 mapView.invalidate();
>         }
>
>         class MapOverlay extends Overlay
>         {
>                 @Override
>                 public boolean draw(Canvas canvas, MapView mapView, boolean 
> shadow,
> long when)
>                 {
>                         // convert bitmap's bounding box into pixels
>                         Point top_left = new Point();
>                         mapView.getProjection().toPixels(min, top_left);
>                         Point bottom_right = new Point();
>                         mapView.getProjection().toPixels(max, bottom_right);
>
>                         // Prepare two rectangles (pixels)
>                         Rect src = new Rect( 0,0,bmp.getWidth() - 1, 
> bmp.getHeight() - 1 );
>                         Rect dst = new Rect( top_left.x, bottom_right.y,
> bottom_right.x,top_left.y );
>
>                         // draw bitmap
>                         canvas.drawBitmap( bmp, src, dst, null);
>                         return true;
>                 }
>         }
>
>         @Override
>         protected boolean isRouteDisplayed() {
>                 // TODO Auto-generated method stub
>                 return false;
>         }
>
> }
>
> On Dec 8, 12:32 am, sal <suhailb...@gmail.com> wrote:
>
>
>
>
>
>
>
> > Thank guys for your suggestion
>
> > @Frank
>
> > What do you mean Mobile CAD, i want just a mark up on the JPEG image
> > based on predefined locations , thats it.
> > i thot Google Map API would provide me better support of doing markup
> > if i am able to convert JPEG image into google map
> > do u have any good pointer or reference to application which does mark
> > up on image.
>
> > @Igor
> > Buddy, i have developed an application to draw a image on MapView ,
> > logic wise i know its right
> > somewhere i am messing with certain objects which leads to exception .
> > so i requested for  sample code  so that i can cross verify
>
> > regards
> > Sal
>
> > On Dec 8, 6:04 am, ip332 <iprile...@gmail.com> wrote:
>
> > > Sol,
> > > No offense, but ability to debug the application (especially when you
> > > have source code and debugging tools) is one of the most basic things
> > > any programmer must have.
> > > Yes, Android make "programming" looks like a pretty simple and easy
> > > activity however when you don't understand what are you doing and
> > > cannot debug the problem - you won't get anything good out of it.
> > > They say "There is no replacement for a displacement" about a car
> > > engine. Same here - you can't ask for a ready-to-use code to get more
> > > or less acceptable result unless you spent certain amount of time,
> > > nerves, coffee, etc.
> > > Nobody get it from the first time. Google it, ask questions but do not
> > > expect someone to solve your problem.
>
> > > Anyway I will try to create a sample app but don't know when I'll have
> > > time (my current program belongs to the company)
>
> > > On Dec 6, 11:54 pm, sal <suhailb...@gmail.com> wrote:
>
> > > > thanks for ur concerns,
>
> > > > @Frank
> > > > I have JPEG sketch of my apartment, getting just geocode of my
> > > > apartment doesnt serve my purpose.
> > > > i want to do location markup on that JPEG image,  i have stored
> > > > location information which i want to mark on the image using android
> > > > API's
> > > > so i want to convert my image as a google map then use android API's
> > > > to mark location on that. let me know if u need more information.
>
> > > > @Igor
> > > > As i am new to android
> > > > can u give me simple example with main activity illustrating on " how
> > > > to draw JPEG image on MapView with overlays to mark on the co-ordinate
> > > > of the image"
> > > > i tried doing it but i am getting NULL exception while using overlays
>
> > > > rgds
> > > > Sal
>
> > > > On Dec 6, 6:46 am, ip332 <iprile...@gmail.com> wrote:
>
> > > > > I used the Overlay class for this purpose.
> > > > > Here is the main part of the MyOverlay::Draw() method:
> > > > >         // convert bitmap's bounding box into pixels
> > > > >         Point top_left = new Point();
> > > > >         mapView.getProjection().toPixels(min, top_left);
> > > > >         Point bottom_right = new Point();
> > > > >         mapView.getProjection().toPixels(max, bottom_right);
> > > > >         // Prepare two rectangles (pixels)
> > > > >         Rect src = new Rect( 0,0,bmp.getWidth() - 1, bmp.getHeight() -
> > > > > 1 );
> > > > >         Rect dst = new Rect( top_left.x, bottom_right.y,
> > > > > bottom_right.x,top_left.y );
> > > > >         // draw bitmap
> > > > >         canvas.drawBitmap( bmp, src, dst, null);
> > > > > Since it uses current mapView then zooming and panning are supported
> > > > > automatically.
> > > > > Obviously you need to know left top (GeoPoint min in the code above)
> > > > > and right bottom (GeoPoint max) coordinates for your picture (I used
> > > > > Google Earth for this purpose).
> > > > > Good luck.
> > > > > Igor
>
> > > > > On Dec 5, 6:36 am, suhail ahmed <suhailb...@gmail.com> wrote:
>
> > > > > > Hi,
>
> > > > > > I have JPEG, PDF of sketch of my apartment, i want to make it as a 
> > > > > > google
> > > > > > map so that i can use Google API's (geocoding, reverse geocoding) 
> > > > > > on that.
>
> > > > > > may i know the solution for the problem
>
> > > > > > regards
> > > > > > Sal

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to