【问题标题】:How can i display Current Location in Android Google maps?如何在 Android 谷歌地图中显示当前位置?
【发布时间】:2012-04-27 08:48:01
【问题描述】:

我想在谷歌地图中显示设备的当前位置我该怎么做我现在正在显示法线地图。以下代码显示设备的纬度和纬度位置我如何使用它在地图中显示地址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 google-maps currentlocation


【解决方案1】:

自从这个问题出现一年多以来,在Android上显示地图的方法发生了变化。

获得当前位置(纬度和经度)后,您需要做的就是将此坐标传递给地图标记。

这是我从 Google Maps Android API V2 文档中复制和粘贴的 sn-p:

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 Maps 选项时,请确保您启用了 Google Maps Android API V2,同时请确保确保您在检索 API 密钥时选择了正确的证书。

希望这可以帮助你走出迷雾。

【讨论】:

    【解决方案2】:
    1. 获取 GPS 位置。
    2. 在地图上绘制一个图标(或标记)到 GPS 位置。
    3. 移动地图以显示当前位置。

    请告诉哪个步骤导致问题。

    【讨论】:

    • 我在将地图移动到当前位置时遇到了问题,我正在获取纬度和经度位置。刚刚我编辑了我的最新代码
    【解决方案3】:

    使用反向地理编码将这些纬度转换为地址,然后您可以使用文本视图或 Toast 来显示该地址。 此链接可能会有所帮助。 http://www.oodlestechnologies.com/blogs/Displaying-Current-Location-on-Google-Maps

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-29
      • 2015-08-14
      • 1970-01-01
      • 2013-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多