Я хочу показать текущее местоположение устройств в картах Google, как я могу это сделать, я теперь говорю о нормальной карте. Следующий код отображает позиции Lat и Lang на устройствах, как я могу отображать адрес на карте, используя этот лат и язык Положения.
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;
}
}
Заранее спасибо.....
Поскольку этот вопрос существует уже более года, метод отображения карт на Android изменился.
После того, как вы получили свое текущее местоположение (lat & long), все, что вам нужно сделать, это передать эту координату маркеру карты.
Здесь фрагмент, который я копирую и вставляю из Документации Google API для 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, они также получили полное руководство в документации.
Я вставил ссылку полных шагов здесь, чтобы спасти вас ногу:
API Android Google Maps V2 - Начало работы
Если вы внимательно следите за шагами, вы должны отображать карты и показывать маркеры без каких-либо проблем.
Здесь еще одна вещь, на которую вам, возможно, стоит обратить внимание: при включении опции "Карты Google" в консоли API, убедитесь, что вы включили Google Maps Android API V2, и также убедитесь, что вы выбрали правильный сертификат, а извлечение ключа API.
Надеюсь, это поможет тебе выбраться из тумана.
Используйте обратную Geo-кодировку для преобразования этих latlngs в адрес, а затем вы можете использовать текстовое представление или Toast для отображения этого адреса. Эта ссылка может быть полезна. http://www.oodlestechnologies.com/blogs/Displaying-Current-Location-on-Google-Maps
Скажите, какой шаг вызывает проблемы.