在Google地图上查找我的位置

时间:2012-05-23 15:41:38

标签: android google-maps location

我正在尝试让应用程序在谷歌地图上用geapoint显示我的位置,但它在我的手机上打开应用程序时总是打开相同的位置,这是我在代码中添加的值作为初始值在编译器上测试。 如何让它显示我的位置(根据我的位置改变纬度和经度)?

这是代码:

公共类AndroidGoogleMapsActivity扩展了MapActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // Displaying Zooming controls
    MapView mapView = (MapView) findViewById(R.id.mapView);
    mapView.setBuiltInZoomControls(true);

    /**
     * Changing Map Type
     * */
     mapView.setSatellite(true); // Satellite View
    // mapView.setStreetView(true); // Street View
     mapView.setTraffic(true); // Traffic view

    /**
     * showing location by Latitude and Longitude
     * */        
    MapController mc = mapView.getController();
    double lat = Double.parseDouble("31.894178");
    double lon = Double.parseDouble("35.872694");
    GeoPoint geoPoint = new GeoPoint((int)(lat * 1E6), (int)(lon * 1E6));
    mc.animateTo(geoPoint);
    mc.setZoom(15);
    mapView.invalidate(); 



    /**
     * Placing Marker
     * */
    List<Overlay> mapOverlays = mapView.getOverlays();
    Drawable drawable = this.getResources().getDrawable(R.drawable.mark_red);
    AddItemizedOverlay itemizedOverlay = 
         new AddItemizedOverlay(drawable, this);


    OverlayItem overlayitem = new OverlayItem(geoPoint, "Hello", "Sample Overlay item");

    itemizedOverlay.addOverlay(overlayitem);
    mapOverlays.add(itemizedOverlay);

}

@Override
protected boolean isRouteDisplayed() {
    return false;
}

}

2 个答案:

答案 0 :(得分:0)

你永远不会调用实际的GPS,这就是为什么它会恢复到你编程的那个。这在其他地方已有很好的记录,但这里是一个很好的起点:http://about-android.blogspot.com/2010/04/find-current-location-in-android-gps.html

答案 1 :(得分:0)

Location detection;这是做到这一点的简单方法,它对我有用。干杯!