如何在该位置找到当前位置并制作标记。

时间:2011-12-10 08:55:32

标签: android google-maps

我想找到当前位置并在该位置制作标记。 请告诉我

如果有任何例子那么请告诉我..

像这样

enter image description here

提前致谢...

3 个答案:

答案 0 :(得分:2)

请参阅此链接..

你明白了。

答案 1 :(得分:1)

查找当前位置使用gps。你可以得到更多的例子和标记看到这个链接。 https://github.com/jgilfelt/android-mapviewballoons

答案 2 :(得分:0)

这里我们有几个简单的步骤

class MapOverlay extends com.google.android.maps.Overlay
    {
        @Override
        public boolean draw(Canvas canvas, MapView mapView, 
        boolean shadow, long when) 
        {
            super.draw(canvas, mapView, shadow);                   

            //---translate the GeoPoint to screen pixels---
            Point screenPts = new Point();
            mapView.getProjection().toPixels(p, screenPts);

            //---add the marker---
            Bitmap bmp = BitmapFactory.decodeResource(
                getResources(), R.drawable.pin);            
            canvas.drawBitmap(bmp, screenPts.x, screenPts.y-50, null);         
            return true;
        }
    } 

在abv代码之后调用您的标记

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mapView = (MapView) findViewById(R.id.mapView);

    Geocoder geocoder = new Geocoder(this, Locale.getDefault());
    List<Address> addresses = null;
    try {
        addresses = geocoder.getFromLocationName(getIntent().getStringExtra("address"), 1);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    Address address = addresses.get(0);   
    double lng  = address.getLongitude();
    double lat  = address.getLatitude();   



    p = new GeoPoint(
        (int) (lat * 1E6), 
        (int) (lng * 1E6));

    mc.animateTo(p);
    mc.setZoom(17); 

  //---Add a location marker---
    MapOverlay mapOverlay = new MapOverlay();
    List<Overlay> listOfOverlays = mapView.getOverlays();
    listOfOverlays.clear();
    listOfOverlays.add(mapOverlay);        

    mapView.invalidate();
    mapView.invalidate();
 }

希望我已经清除了你的一些东西。继续微笑:)