地图加载速度非常慢

时间:2011-07-27 05:52:41

标签: android maps

我的应用程序包括获取当前位置坐标的活动,然后显示我已经给出坐标的目的地的路线。问题是加载地图并获取路线需要数小时。如果有人可以建议我如何以更快的速度完成它。我正在使用移动设备中的地图应用程序来获取地图功能。 这是我正在使用的代码

package com.map;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.net.Uri;
import android.os.Bundle;
import android.widget.Toast;

public class MapRouteActivity extends Activity {
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
    LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
  LocationListener mlocListener = new MyLocationListener();
  mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);
  mlocManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, mlocListener);
 }


 public class MyLocationListener implements LocationListener
 {
  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();

   Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
     Uri.parse("http://maps.google.com/maps?saddr="+loc.getLatitude()+","+loc.getLongitude()+"&daddr=18.5204303,73.8567437"));
   startActivity(intent);
  }
  @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)
  {
  }
 }
}

1 个答案:

答案 0 :(得分:0)

GPS需要时间来修复。它必须扫描很多频率才能实际三角化你的位置。您编写的代码会在获得有效修复时启动Google地图。 (在onLocationChanged()

相反,您可以使用MapView。这样你的地图将加载得更快,你甚至不必等待正确的修复。