2013-05-06 3 views
0

J'EMBEDDED une image PNG sur la carte (version 1) en utilisant des superpositions:Android - Créer des projections google map V2

.... 
    Bitmap map_scaled = Bitmap.createScaledBitmap(map_png, map_png.getWidth(), map_png.getHeight(), true); 

.... 

@Override 
public void draw(Canvas canvas, MapView mapView, boolean shadow) { 
     super.draw(canvas, mapView, false); 
     if(shadow) return; 
     Projection projection = mapView.getProjection(); 

     Point leftTop = new Point(); 
     Point rightTop = new Point(); 
     Point rightBottom = new Point(); 
     Point leftBottom = new Point(); 

     projection.toPixels(topGeoPoint, leftTop); 
     projection.toPixels(new GeoPoint(topGeoPoint.getLatitudeE6(), bottomGeoPoint.getLongitudeE6()), rightTop); 
     projection.toPixels(bottomGeoPoint, rightBottom); 
     projection.toPixels(new GeoPoint(bottomGeoPoint.getLatitudeE6(), topGeoPoint.getLongitudeE6()), leftBottom); 

     if (
       (leftTop.x < 0 || leftTop.y < 0) && 
       (rightTop.x < 0 || rightTop.y < 0) && 
       (rightBottom.x < 0 || rightBottom.y < 0) && 
       (leftBottom.x < 0 || leftBottom.y < 0)) { 
      // Not on screen? Don't draw the overlay 
      return; 
     } 

     //  GeoPoint mapCenter = mapView.getMapCenter(); 
     Paint paint = new Paint(); 
     paint.setFilterBitmap(true); 
     paint.setAntiAlias(true); 

     canvas.drawBitmap(original, null, new Rect(leftTop.x, leftTop.y, rightBottom.x, rightBottom.y), paint); 


} 

Je voudrais migrer le code à la version 2. Avez-vous des conseils? Existe-t-il des composants similaires dans Google Map v2?

Meilleures salutations


La capture d'écran. enter image description here

+0

Ajoutez une capture d'écran pour indiquer clairement ce que vous voulez dessiner. –

+0

Salut Macie, J'ai téléchargé la capture d'écran. Comme vous pouvez le voir, je voudrais mettre sur la carte une image PNG, mais fixée par le coin en haut à gauche (latitude-longitude) et par le coin en bas à droite (latitude-longitude). Si j'effectue un zoom avant ou arrière sur la carte, l'image PNG doit être redimensionnée. –

+2

C'est très facile avec GroundOverlay dans l'API v2. –

Répondre

0

Peut-être me manque compris, mais si vous voulez ajouter des marqueurs à votre carte, vous simple peut le faire comme ceci:

private MarkerOptions createMapMarker(LocationWO mLocation) { 

    MarkerOptions mMarker = new MarkerOptions() 
      .position(
        new LatLng(mLocation.getmLatitude(), mLocation 
          .getmLongitude())) 
      .title(mLocation.getmName()) 
      .snippet(mLocation.getmName()) 
      .icon(BitmapDescriptorFactory 
        .fromResource(R.drawable.map_pin_debug)); 
    return mMarker; 
} 

Vérifiez le Doku officiel https://developers.google.com/maps/documentation/android/marker Il existe des exemples pour dessiner des formes à la carte de plus, si je n'ai pas compris votre question: https://developers.google.com/maps/documentation/android/shapes