0

我将获取用户单击的地图上某个位置的纬度和经度,并对它们进行一些计算。顺便说一句,我会说我正在使用模拟器,我无法使用手机,我必须在模拟器中运行它。请帮我做什么!

4

3 回答 3

0

请详细说明您的需求,因为这个问题非常令人困惑。您可以在谷歌地图上显示经纬度值,我猜您是从网络服务或当前位置获取的。要在您的模拟器上使用谷歌地图,您将需要谷歌地图密钥。让我知道你到底想要什么类型的帮助。

http://blogspot.fluidnewmedia.com/2009/04/displaying-google-maps-in-the-android-emulator/ 上面的链接 id 很好开始。

于 2013-02-20T05:36:06.663 回答
0

您应该澄清您正在使用什么(Google API 或地图图像),如果您使用图像,我假设您正在使用 Java for Android,您可以使用
onTouchEvent找到您的坐标然后返回它们只要您自己知道地图上的经度和纬度,屏幕上的经度和纬度就可以...请在您的问题中更具描述性。

public boolean onTouchEvent(MotionEvent event){
    int action = event.getAction();
    int x = event.getX()  
    int y = event.getY();
    return yourBoolean;
}
于 2013-02-20T05:46:46.827 回答
0
We can not get the current lat and long values in the emulator up to my knowledge. You have to put them your self.Correct me if I am wrong but this is true for that you have to use the real device.

I think this code will help you.Give try on device and let me know.

public class Google_maps extends MapActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_google_maps);


        MapView mapview=(MapView)findViewById(R.id.mapView);
        mapview.setBuiltInZoomControls(true);
        MapOverlay mapOverlay = new MapOverlay();
        List<Overlay> listOfOverlays = mapview.getOverlays();
        listOfOverlays.clear();
        listOfOverlays.add(mapOverlay);        

        mapview.invalidate();

    }

    class MapOverlay extends Overlay
    {

        @Override
        public boolean onTouchEvent(MotionEvent event, MapView mapView) 
        {   
            //---when user lifts his finger---
            if (event.getAction() == 1) {                
                GeoPoint p = mapView.getProjection().fromPixels(
                    (int) event.getX(),
                    (int) event.getY());
                    Toast.makeText(getBaseContext(), 
                        p.getLatitudeE6() / 1E6 + "," + 
                        p.getLongitudeE6() /1E6 , 
                        Toast.LENGTH_SHORT).show();


            }                            
            return false;
        }        
    }
    @Override
    protected boolean isRouteDisplayed() {
        return false;
    }}
于 2013-02-20T06:01:36.663 回答