2011-07-27 22 views
-1

私のアプリには現在地の座標を取得し、座標を与えた目的地までの経路を表示するアクティビティが含まれています。地図を読み込んでルートを取得するには数時間かかることがあります。誰も私にそれをもっと速い速度でやり遂げる方法を提案することができます。そして私はマップ機能を得るためにモバイルにあるMapアプリケーションを使用しています。 は、ここで私は地図の読み込みが非常に遅い

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

どうやってこれをやっていますか?あなたが良いインターネット接続でMapViewを使用する場合は、数秒しかかかりません。 – Reno

+0

こんにちはリノ、私はマップを描画するためのinbuiltマップアプリケーションを使用しています。 – amithotu

+0

コードを見て、なぜ起動するのに時間がかかるのか教えてください。 – amithotu

答えて

0

GPSを使用しているコードの修正を取得するには時間がかかります。それは実際にあなたの位置を三角形にする前に、多くの周波数をスキャンしなければなりません。あなたが書いたコードは、有効な修正を得るためにGoogleマップを起動します。 (onLocationChanged()

代わりにMapViewを使用できます。そうすれば、あなたのマップはもっと速くロードされ、適切な修正を待つ必要はありません。

+0

ありがとう同じコードがHTC Heroで正常に動作し、HTCの猛烈な火災では動作しません。そのことに関して何かお勧めしますか? – amithotu

+0

上記のコードの代わりにMAPViewを実装する方法を教えてください。 – amithotu

+0

通知に気づかなかった場合は、チュートリアルへのリンクがあります。 – Reno

関連する問題