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