我希望显示Google地图中设备的当前位置我该怎么办我现在正在显示法线贴图。以下代码显示设备的Lat和Lang位置如何使用该地图显示地图中的地址lat和lang postions。
package com.appulento.mapsexample.pack;
import android.content.Context;
import android.content.Intent;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.Handler;
import android.widget.Toast;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
public class MapsMianClass extends MapActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MapView mapView = (MapView) findViewById(R.id.mapview1);
mapView.setBuiltInZoomControls(true);
/* Use the LocationManager class to obtain GPS locations */
LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener = new MyLocationListener();
mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);
}
/* Class My Location Listener */
public class MyLocationListener implements LocationListener
{
@Override
public void onLocationChanged(Location loc)
{
loc.getLatitude();
loc.getLongitude();
String Text = "My current location is: " +
"Latitud = " + loc.getLatitude() +
"Longitud = " + loc.getLongitude();
Toast.makeText( getApplicationContext(), Text, Toast.LENGTH_SHORT).show();
}
@Override
public void onProviderDisabled(String provider)
{
Toast.makeText( getApplicationContext(), "Gps Disabled", Toast.LENGTH_SHORT ).show();
}
@Override
public void onProviderEnabled(String provider)
{
Toast.makeText( getApplicationContext(), "Gps Enabled", Toast.LENGTH_SHORT).show();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras)
{
}
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}
先谢谢.....
答案 0 :(得分:2)
由于这个问题已经存在一年多了,因此在Android上显示地图的方法已经改变。
获得当前位置(lat& long)后,您需要做的就是将此坐标传递给地图标记。
这是我复制的片段&粘贴自Google Maps Android API V2文档:
private GoogleMap mMap;
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
mMap.addMarker(new MarkerOptions()
.position(new LatLng(0, 0))
.title("Hello world"));
至于如何使用谷歌地图,他们也有一个完整的文档指南。
我在这里粘贴了完整步骤的链接,为你节省了一条腿:
Google Maps Android API V2 - Getting Started
如果您仔细按照那里的步骤操作,则应显示地图并显示标记,没有任何问题。
以下是您可能需要注意的另一件事:在API控制台中启用Google地图选项时,请确保您启用 Google Maps Android API V2 ,并且还请制作确保在检索API密钥时选择了正确的证书。
希望这可以帮助你摆脱困境。
答案 1 :(得分:0)
请告诉哪一步会导致问题。
答案 2 :(得分:0)
使用反向地理编码将这些latlng转换为地址,然后您可以使用文本视图或Toast来显示该地址。 此链接可能会有所帮助。 http://www.oodlestechnologies.com/blogs/Displaying-Current-Location-on-Google-Maps