我在android开发方面经验不足,我想在地图上显示当前位置。 但这向我显示了另一个位置,该位置在加拿大。 这是我的代码:

package com.manita.mapuse;

import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.View;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;

import com.google.android.maps.MapView;
public class MapuseActivity extends MapActivity implements LocationListener {
    private MapView  mapView = null;
    private MapController mc;
    private GeoPoint location;
    double lat;
    double lon;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

      //---use the LocationManager class to obtain GPS locations---
        LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);    

        LocationListener locationListener = new MyLocationListener();

        lm.requestLocationUpdates( LocationManager.GPS_PROVIDER,  0, 0, locationListener);

        }


    /* Class My Location Listener */

    public class MyLocationListener implements LocationListener

    {

    @Override

    public void onLocationChanged(Location loc)

    {

    loc.getLatitude();

    loc.getLongitude();

    lat= loc.getLatitude();

    lon= loc.getLongitude();
    }

    @Override

    public void onProviderDisabled(String provider)

    {

    }


    @Override

    public void onProviderEnabled(String provider)

    {
    }


    @Override

    public void onStatusChanged(String provider, int status, Bundle extras)

    {


    }

    } /*End of Class MyLocationListener */





    /*   class map view     */

    public MapView viewmap (View mapview, double latitude, double longitude){

        this.mapView =  new MapView(this,this.getResources().getString(R.string.mapKey));

        this.mapView.setClickable(true);

        this.mc = this.mapView.getController();

        this.location = new GeoPoint((int) (latitude * 1000000.0),(int) (longitude * 1000000.0));

        this.mc.setCenter(this.location);

        this.mc.setZoom(17);

        this.mapView.setSatellite(true);

        this.mapView.invalidate();

        this.setContentView(this.mapView);

        mapView.setBuiltInZoomControls(true);

        return mapView;

    }
     /* End class map view     */



    @Override
    public void onLocationChanged(Location location) {
        // TODO Auto-generated method stub

    }



    @Override
    public void onProviderDisabled(String provider) {
        // TODO Auto-generated method stub

    }



    @Override
    public void onProviderEnabled(String provider) {
        // TODO Auto-generated method stub

    }



    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub

    }



    @Override
    protected boolean isRouteDisplayed() {
        // TODO Auto-generated method stub
        return false;
    }


}

===============>>#1 票数:0

我太困惑了,您需要对此进行很多更改,尝试从我的帖子中查看一些教程,您从那里获得了很多链接

如何在带有标记的android中显示地图

===============>>#2 票数:0 已采纳

这里http://www.vogella.de/articles/AndroidLocationAPI/article.html#overview_maps是一个非常不错的示例。 只需复制粘贴即可。

===============>>#3 票数:0

这是全部代码吗? 我看不到对您的mapview对象进行任何调用来更新纬度或经度。 也许尝试初始化mc控制器,并将这段代码添加到onLocationChanged方法中,看看会发生什么。 这只是为了帮助您找到问题,实际上不要留下这样的代码,因为如果您甚至不知道MapController是否已被初始化,则使用MapController是危险的。

@Override

public void onLocationChanged(Location loc)

{
  loc.getLatitude();
  loc.getLongitude();
  lat= loc.getLatitude();
  lon= loc.getLongitude();
  this.location = new GeoPoint((int) (latitude * 1000000.0),(int) (longitude * 1000000.0));
  this.mc.setCenter(this.location);
}

  ask by manita marwa translate from so

未解决问题?本站智能推荐:

1回复

将GPS更改为2到1的位置

我正在尝试将GPS从2个位置更改为1个位置 2个位置的代码是: 并更改为一个位置,例如: http : //i.stack.imgur.com/zCvW5.png 我什至进行了部分更改,但它需要从我的位置转到目的地位置 码: 有人知道代码吗? 谢谢
1回复

Oracle MAF-请求GPS位置会导致Android 6.0中出现致命的OS异常

当我从MAF的“ DeviceDemo”示例中测试GPS服务时,出现以下错误: 操作系统崩溃并重新启动。 当我在deviceManager实例上调用“ startUpdatingPosition”方法时,也会在我自己的应用程序中发生这种情况。 “ deviceManager.g
2回复

GPS位置更改时如何将Android应用程序带回前台

我正在构建一个提供Travel Maps的Android应用程序。用户可以离开我的应用程序。 例如-按“主页”按钮。 我想要做的是,使应用程序重新定位。我想在特殊的GPS坐标上显示一些通知。 我正在使用onLocationChanged()方法执行任务。 但是我找不到一种将应用程序置于前
1回复

android gps spikes问题

我遇到了一个非常愚蠢的问题 之前的位置是myLoc最后一次存储onLocationChanged被调用,即每次1秒后。 现在我的问题是,有时它会给出非常大的峰值。 使spd比通常更高。 任何人都可以告诉我如何减少这一点 最好的祝福
2回复

检查是否在android中启用了GPS

我正在一个包含谷歌地图的项目。 活动加载后,我想检查GPS是否启用。 因此,我使用以下代码重定向到包含设置的页面。 但是问题是,如果我启用GPS并返回到应用程序,则我希望页面再次加载,以便加载地图。 如何确保我的活动再次运行?
2回复

Gps在Android 4.2.2上不起作用

我工作的应用程序可返回用户的位置,并从GPS获取信息。 并将位置发送给电子邮件以下代码已存在,它在Android 2.3上运行正常,但在Android 4.2.2上却无法运行。 在Android 4.2.2设备和模拟器上无法正常工作。 GPS追踪器的代码如下: 全球定位系统 :
1回复

适用于Android的GoogleMaps V2的Gps LocationListenser

我想了解googlemaps LatLng和Location class之间的关系。 他们可以兑换吗? 我在用 GoogleMaps v2 在我的应用程序中,因此如何使用GPS在地图上定位我的位置
1回复

Android APK未显示正确的当前时间

我为会议室信息屏幕创建了一个APK,该屏幕显示会议室是否忙碌。 演示者在会议期间向平板电脑发送邮件,然后程序接收邮件并在屏幕上显示会议。 但是我的问题是,我创建了这个应用程序。 对于lg nexus 7“平板电脑,很不幸,它已更改。现在我有了Samsung sm-t110 7”。 主要问
1回复

Android-如何找出当前线程的创建位置?

我正在使用Eclipse开发一个巨大的Android应用程序,其中包含大量我不熟悉的代码。 有一个线程被产生太多次了,我不确定在哪里产生它,因为有很多代码产生了这个线程。 如何找到Eclipse中产生线程的位置? 注意:该线程似乎确实具有各种名称...在线程Debug堆栈跟踪中
1回复

updateTextView(),显示当前用户的名称eclipse

我在updateTextView上遇到问题,例如当您登录到主要活动时,它将转到下一个我称为首页/关于的活动。 有一个“欢迎”文本视图,它的右侧应该是当前用户的名称。例如“欢迎用户” 我用updateTextView尝试过,但出现错误。 请帮我。 这是homepage.java代码